diff --git a/backend/.gitignore b/backend/.gitignore deleted file mode 100644 index f793d3364da02cf3083991d0c44eac4ad2130630..0000000000000000000000000000000000000000 --- a/backend/.gitignore +++ /dev/null @@ -1,58 +0,0 @@ -#static files -/static -# compiled output -/dist -/node_modules -/build - -# Logs -logs -*.log -npm-debug.log* -pnpm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# OS -.DS_Store - -# Tests -/coverage -/.nyc_output - -# IDEs and editors -/.idea -.project -.classpath -.c9/ -*.launch -.settings/ -*.sublime-workspace - -# IDE - VSCode -.vscode/* -!.vscode/settings.json -!.vscode/tasks.json -!.vscode/launch.json -!.vscode/extensions.json - -# dotenv environment variable files -.env -.env.development.local -.env.test.local -.env.production.local -.env.local - -# temp directory -.temp -.tmp - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json diff --git a/backend/dist/admin/admin.controller.d.ts b/backend/dist/admin/admin.controller.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..a78c7fbb1a98d5a70bf4d59cd879b7a43919a89a --- /dev/null +++ b/backend/dist/admin/admin.controller.d.ts @@ -0,0 +1,14 @@ +import { AdminService } from './admin.service'; +import { CustomAdminRequest } from 'src/auth/admin/interface/customAdminReq'; +export declare class AdminController { + private readonly adminService; + constructor(adminService: AdminService); + whoAmI(req: CustomAdminRequest): Promise<{ + email: string; + name: string; + lastName: string; + role: string; + idTown: number; + }>; + findAllByTown(idTown: number): Promise; +} diff --git a/backend/dist/admin/admin.controller.js b/backend/dist/admin/admin.controller.js new file mode 100644 index 0000000000000000000000000000000000000000..42846e7b6a3a66990411a359dcc4391e6c4d69de --- /dev/null +++ b/backend/dist/admin/admin.controller.js @@ -0,0 +1,72 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AdminController = void 0; +const common_1 = require("@nestjs/common"); +const admin_service_1 = require("./admin.service"); +const swagger_1 = require("@nestjs/swagger"); +const admin_role_enum_1 = require("../shared/enum/admin-role.enum"); +const role_decorator_1 = require("../auth/role.decorator"); +const authAdmin_guard_1 = require("../auth/admin/authAdmin.guard"); +let AdminController = class AdminController { + constructor(adminService) { + this.adminService = adminService; + } + async whoAmI(req) { + return { + email: req.admin.email, + name: req.admin.name, + lastName: req.admin.lastName, + role: req.admin.role, + idTown: req.admin?.idTown?.townId || null, + }; + } + async findAllByTown(idTown) { + try { + const admins = await this.adminService.findAllByTown(idTown); + return admins; + } + catch (e) { + return e; + } + } +}; +exports.AdminController = AdminController; +__decorate([ + (0, common_1.UseGuards)(authAdmin_guard_1.AuthAdminGuard), + (0, role_decorator_1.Roles)(admin_role_enum_1.ADMIN_ROLES), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, common_1.Get)('admin/whoami'), + __param(0, (0, common_1.Req)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", Promise) +], AdminController.prototype, "whoAmI", null); +__decorate([ + (0, common_1.UseGuards)(authAdmin_guard_1.AuthAdminGuard), + (0, role_decorator_1.Roles)(admin_role_enum_1.SUPERADMIN_ROLES), + (0, swagger_1.ApiParam)({ name: 'idTown', type: Number }), + (0, common_1.Get)('admin/:idTown'), + (0, swagger_1.ApiBearerAuth)('jwt'), + __param(0, (0, common_1.Param)('idTown')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Number]), + __metadata("design:returntype", Promise) +], AdminController.prototype, "findAllByTown", null); +exports.AdminController = AdminController = __decorate([ + (0, common_1.Controller)(''), + (0, swagger_1.ApiTags)('Admin'), + __metadata("design:paramtypes", [admin_service_1.AdminService]) +], AdminController); +//# sourceMappingURL=admin.controller.js.map \ No newline at end of file diff --git a/backend/dist/admin/admin.controller.js.map b/backend/dist/admin/admin.controller.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4be22dcfb9235d2bbfa7246a408e114563560a48 --- /dev/null +++ b/backend/dist/admin/admin.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"admin.controller.js","sourceRoot":"","sources":["../../src/admin/admin.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwE;AACxE,mDAA+C;AAC/C,6CAAmE;AACnE,oEAAgF;AAChF,2DAAgD;AAEhD,mEAAgE;AAIzD,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAMrD,AAAN,KAAK,CAAC,MAAM,CAAQ,GAAuB;QACzC,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK;YACtB,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI;YACpB,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ;YAC5B,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI;YACpB,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI;SAC1C,CAAC;IACJ,CAAC;IAOK,AAAN,KAAK,CAAC,aAAa,CAAkB,MAAc;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;CACF,CAAA;AA9BY,0CAAe;AAOpB;IAJL,IAAA,kBAAS,EAAC,gCAAc,CAAC;IACzB,IAAA,sBAAK,EAAC,6BAAW,CAAC;IAClB,IAAA,uBAAa,EAAC,KAAK,CAAC;IACpB,IAAA,YAAG,EAAC,cAAc,CAAC;IACN,WAAA,IAAA,YAAG,GAAE,CAAA;;;;6CAQlB;AAOK;IALL,IAAA,kBAAS,EAAC,gCAAc,CAAC;IACzB,IAAA,sBAAK,EAAC,kCAAgB,CAAC;IACvB,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1C,IAAA,YAAG,EAAC,eAAe,CAAC;IACpB,IAAA,uBAAa,EAAC,KAAK,CAAC;IACA,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;;;;oDAOnC;0BA7BU,eAAe;IAF3B,IAAA,mBAAU,EAAC,EAAE,CAAC;IACd,IAAA,iBAAO,EAAC,OAAO,CAAC;qCAE4B,4BAAY;GAD5C,eAAe,CA8B3B"} \ No newline at end of file diff --git a/backend/dist/admin/admin.module.d.ts b/backend/dist/admin/admin.module.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..41d020767ad9c7b0f02f5400ca1aaae6fde4c61d --- /dev/null +++ b/backend/dist/admin/admin.module.d.ts @@ -0,0 +1,2 @@ +export declare class AdminModule { +} diff --git a/backend/dist/admin/admin.module.js b/backend/dist/admin/admin.module.js new file mode 100644 index 0000000000000000000000000000000000000000..d3b41d57b16c505cdc9e644f556219af27bc0dfc --- /dev/null +++ b/backend/dist/admin/admin.module.js @@ -0,0 +1,31 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AdminModule = void 0; +const common_1 = require("@nestjs/common"); +const admin_service_1 = require("./admin.service"); +const admin_controller_1 = require("./admin.controller"); +const typeorm_1 = require("@nestjs/typeorm"); +const admin_entity_1 = require("./entities/admin.entity"); +const town_entity_1 = require("../town/entities/town.entity"); +const authAdmin_service_1 = require("../auth/admin/authAdmin.service"); +const jwt_1 = require("@nestjs/jwt"); +const encryption_service_1 = require("../auth/encryption/encryption.service"); +const admin_reset_code_entity_1 = require("../auth/admin/entitites/admin-reset-code.entity"); +let AdminModule = class AdminModule { +}; +exports.AdminModule = AdminModule; +exports.AdminModule = AdminModule = __decorate([ + (0, common_1.Module)({ + controllers: [admin_controller_1.AdminController], + providers: [admin_service_1.AdminService, authAdmin_service_1.AuthAdminService, jwt_1.JwtService, encryption_service_1.EncryptionService], + imports: [typeorm_1.TypeOrmModule.forFeature([admin_entity_1.Admin, town_entity_1.Town, admin_reset_code_entity_1.AdminResetCode])], + exports: [admin_service_1.AdminService], + }) +], AdminModule); +//# sourceMappingURL=admin.module.js.map \ No newline at end of file diff --git a/backend/dist/admin/admin.module.js.map b/backend/dist/admin/admin.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..612fab3e72a0a9d9531e87d17e865309dcab1e5e --- /dev/null +++ b/backend/dist/admin/admin.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"admin.module.js","sourceRoot":"","sources":["../../src/admin/admin.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,mDAA+C;AAC/C,yDAAqD;AACrD,6CAAgD;AAChD,0DAAgD;AAChD,8DAAqD;AACrD,uEAAoE;AACpE,qCAAyC;AACzC,8EAA2E;AAC3E,6FAAkF;AAQ3E,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IANvB,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,kCAAe,CAAC;QAC9B,SAAS,EAAE,CAAC,4BAAY,EAAE,oCAAgB,EAAE,gBAAU,EAAE,sCAAiB,CAAC;QAC1E,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,oBAAK,EAAE,kBAAI,EAAE,wCAAc,CAAC,CAAC,CAAC;QAClE,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,WAAW,CAAG"} \ No newline at end of file diff --git a/backend/dist/admin/admin.service.d.ts b/backend/dist/admin/admin.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..92bb1f5ab14bc54e537b45592a84cf340b1e1b10 --- /dev/null +++ b/backend/dist/admin/admin.service.d.ts @@ -0,0 +1,15 @@ +import { CreateAdminDto } from './dto/create-admin.dto'; +import { Admin } from './entities/admin.entity'; +import { Repository } from 'typeorm'; +import { Town } from 'src/town/entities/town.entity'; +import { GetAdminDto } from './dto/get-admin.dto'; +export declare class AdminService { + private adminRepository; + private townRepository; + constructor(adminRepository: Repository, townRepository: Repository); + create(createAdminDto: CreateAdminDto): Promise; + findOne(email: string): Promise; + adminExists(email: string): Promise; + updatePassword(email: string, password: string): Promise; + findAllByTown(idTown: number): Promise; +} diff --git a/backend/dist/admin/admin.service.js b/backend/dist/admin/admin.service.js new file mode 100644 index 0000000000000000000000000000000000000000..c3712d9b51d358ff2f22e37edf8bbed987f8fe1c --- /dev/null +++ b/backend/dist/admin/admin.service.js @@ -0,0 +1,78 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AdminService = void 0; +const common_1 = require("@nestjs/common"); +const admin_entity_1 = require("./entities/admin.entity"); +const typeorm_1 = require("typeorm"); +const typeorm_2 = require("@nestjs/typeorm"); +const town_entity_1 = require("../town/entities/town.entity"); +const admin_role_enum_1 = require("../shared/enum/admin-role.enum"); +let AdminService = class AdminService { + constructor(adminRepository, townRepository) { + this.adminRepository = adminRepository; + this.townRepository = townRepository; + } + async create(createAdminDto) { + let town = null; + if (createAdminDto.role == admin_role_enum_1.ADMIN_ROLE.ADMIN) { + town = await this.townRepository.findOneByOrFail({ townId: createAdminDto.idTown }); + } + await this.adminRepository.insert({ ...createAdminDto, idTown: town }); + } + async findOne(email) { + try { + return await this.adminRepository.findOneByOrFail({ email }); + } + catch (error) { + throw new common_1.UnauthorizedException('Admin not found'); + } + } + async adminExists(email) { + const admin = await this.adminRepository.findOneBy({ email }); + if (admin) + return true; + else + return false; + } + async updatePassword(email, password) { + await this.adminRepository.update({ email }, { password }); + } + async findAllByTown(idTown) { + const res = await this.adminRepository + .createQueryBuilder('admin') + .leftJoinAndSelect('admin.idTown', 'town') + .where('admin.idTown = :idTown', { idTown: idTown }) + .getMany(); + const admins = res.map((admin) => { + return { + email: admin.email, + idTown: admin.idTown.townId, + name: admin.name, + lastName: admin.lastName, + status: admin.status, + }; + }); + return admins; + } +}; +exports.AdminService = AdminService; +exports.AdminService = AdminService = __decorate([ + (0, common_1.Injectable)(), + __param(0, (0, typeorm_2.InjectRepository)(admin_entity_1.Admin)), + __param(1, (0, typeorm_2.InjectRepository)(town_entity_1.Town)), + __metadata("design:paramtypes", [typeorm_1.Repository, + typeorm_1.Repository]) +], AdminService); +//# sourceMappingURL=admin.service.js.map \ No newline at end of file diff --git a/backend/dist/admin/admin.service.js.map b/backend/dist/admin/admin.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..59979acac3742e70896db839eeb419e1d675bcd1 --- /dev/null +++ b/backend/dist/admin/admin.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"admin.service.js","sourceRoot":"","sources":["../../src/admin/admin.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAmE;AAEnE,0DAAgD;AAChD,qCAAqC;AACrC,6CAAmD;AACnD,8DAAqD;AACrD,oEAA6D;AAItD,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YACmC,eAAkC,EACnC,cAAgC;QAD/B,oBAAe,GAAf,eAAe,CAAmB;QACnC,mBAAc,GAAd,cAAc,CAAkB;IAC/D,CAAC;IACJ,KAAK,CAAC,MAAM,CAAC,cAA8B;QACzC,IAAI,IAAI,GAAS,IAAI,CAAC;QACtB,IAAI,cAAc,CAAC,IAAI,IAAI,4BAAU,CAAC,KAAK,EAAE,CAAC;YAC5C,IAAI,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,GAAG,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa;QACzB,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,8BAAqB,CAAC,iBAAiB,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,IAAI,KAAK;YAAE,OAAO,IAAI,CAAC;;YAClB,OAAO,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,QAAgB;QAClD,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAAc;QAChC,MAAM,GAAG,GAAU,MAAM,IAAI,CAAC,eAAe;aAC1C,kBAAkB,CAAC,OAAO,CAAC;aAC3B,iBAAiB,CAAC,cAAc,EAAE,MAAM,CAAC;aACzC,KAAK,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;aACnD,OAAO,EAAE,CAAC;QACb,MAAM,MAAM,GAAkB,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,EAAe,EAAE;YAC3D,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;gBAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAhDY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,oBAAK,CAAC,CAAA;IACvB,WAAA,IAAA,0BAAgB,EAAC,kBAAI,CAAC,CAAA;qCAD2B,oBAAU;QACZ,oBAAU;GAHjD,YAAY,CAgDxB"} \ No newline at end of file diff --git a/backend/dist/admin/dto/create-admin.dto.d.ts b/backend/dist/admin/dto/create-admin.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..d3e65da686fe80dd261ee36a7df39c68fe5efe33 --- /dev/null +++ b/backend/dist/admin/dto/create-admin.dto.d.ts @@ -0,0 +1,11 @@ +import { ADMIN_ROLE } from 'src/shared/enum/admin-role.enum'; +import { UserStatus } from 'src/shared/enum/user-status.enum'; +export declare class CreateAdminDto { + email: string; + idTown: number; + password: string; + name: string; + lastName: string; + role: ADMIN_ROLE; + status: UserStatus; +} diff --git a/backend/dist/admin/dto/create-admin.dto.js b/backend/dist/admin/dto/create-admin.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..3e3b875f2a8160429e7e3c4d6d2e0ef421fc955e --- /dev/null +++ b/backend/dist/admin/dto/create-admin.dto.js @@ -0,0 +1,43 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreateAdminDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +const admin_role_enum_1 = require("../../shared/enum/admin-role.enum"); +const user_status_enum_1 = require("../../shared/enum/user-status.enum"); +class CreateAdminDto { + constructor() { + this.role = admin_role_enum_1.ADMIN_ROLE.ADMIN; + this.status = user_status_enum_1.UserStatus.ACTIVE; + } +} +exports.CreateAdminDto = CreateAdminDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreateAdminDto.prototype, "email", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Number) +], CreateAdminDto.prototype, "idTown", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreateAdminDto.prototype, "password", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreateAdminDto.prototype, "name", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreateAdminDto.prototype, "lastName", void 0); +//# sourceMappingURL=create-admin.dto.js.map \ No newline at end of file diff --git a/backend/dist/admin/dto/create-admin.dto.js.map b/backend/dist/admin/dto/create-admin.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5f0617de7efd2b371065a7b5d965dc170cccc28c --- /dev/null +++ b/backend/dist/admin/dto/create-admin.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-admin.dto.js","sourceRoot":"","sources":["../../../src/admin/dto/create-admin.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,uEAA6D;AAC7D,yEAA8D;AAE9D,MAAa,cAAc;IAA3B;QAgBE,SAAI,GAAe,4BAAU,CAAC,KAAK,CAAC;QACpC,WAAM,GAAe,6BAAU,CAAC,MAAM,CAAC;IACzC,CAAC;CAAA;AAlBD,wCAkBC;AAhBC;IADC,IAAA,qBAAW,GAAE;;6CACA;AAGd;IADC,IAAA,qBAAW,GAAE;;8CACC;AAGf;IADC,IAAA,qBAAW,GAAE;;gDACG;AAGjB;IADC,IAAA,qBAAW,GAAE;;4CACD;AAGb;IADC,IAAA,qBAAW,GAAE;;gDACG"} \ No newline at end of file diff --git a/backend/dist/admin/dto/get-admin.dto.d.ts b/backend/dist/admin/dto/get-admin.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..14b156473c0be13342c728e96fbc1c23960b4e40 --- /dev/null +++ b/backend/dist/admin/dto/get-admin.dto.d.ts @@ -0,0 +1,7 @@ +export declare class GetAdminDto { + email: string; + idTown: number; + name: string; + lastName: string; + status: string; +} diff --git a/backend/dist/admin/dto/get-admin.dto.js b/backend/dist/admin/dto/get-admin.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..05d89c90238cd3ed65842fd7940413f683997825 --- /dev/null +++ b/backend/dist/admin/dto/get-admin.dto.js @@ -0,0 +1,37 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GetAdminDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +class GetAdminDto { +} +exports.GetAdminDto = GetAdminDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], GetAdminDto.prototype, "email", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Number) +], GetAdminDto.prototype, "idTown", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], GetAdminDto.prototype, "name", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], GetAdminDto.prototype, "lastName", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], GetAdminDto.prototype, "status", void 0); +//# sourceMappingURL=get-admin.dto.js.map \ No newline at end of file diff --git a/backend/dist/admin/dto/get-admin.dto.js.map b/backend/dist/admin/dto/get-admin.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a9a2ab3a42e234196ad3bcc54d9dd16da6e9f17f --- /dev/null +++ b/backend/dist/admin/dto/get-admin.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"get-admin.dto.js","sourceRoot":"","sources":["../../../src/admin/dto/get-admin.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,WAAW;CAevB;AAfD,kCAeC;AAbC;IADC,IAAA,qBAAW,GAAE;;0CACA;AAGd;IADC,IAAA,qBAAW,GAAE;;2CACC;AAGf;IADC,IAAA,qBAAW,GAAE;;yCACD;AAGb;IADC,IAAA,qBAAW,GAAE;;6CACG;AAGjB;IADC,IAAA,qBAAW,GAAE;;2CACC"} \ No newline at end of file diff --git a/backend/dist/admin/dto/update-admin.dto.d.ts b/backend/dist/admin/dto/update-admin.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..963dd835c7706765a1bb676b41069c28f14f24ae --- /dev/null +++ b/backend/dist/admin/dto/update-admin.dto.d.ts @@ -0,0 +1,5 @@ +import { CreateAdminDto } from './create-admin.dto'; +declare const UpdateAdminDto_base: import("@nestjs/mapped-types").MappedType>; +export declare class UpdateAdminDto extends UpdateAdminDto_base { +} +export {}; diff --git a/backend/dist/admin/dto/update-admin.dto.js b/backend/dist/admin/dto/update-admin.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..243f2d70a5a6b96f6b228668ff9cb02a6342e465 --- /dev/null +++ b/backend/dist/admin/dto/update-admin.dto.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UpdateAdminDto = void 0; +const mapped_types_1 = require("@nestjs/mapped-types"); +const create_admin_dto_1 = require("./create-admin.dto"); +class UpdateAdminDto extends (0, mapped_types_1.PartialType)(create_admin_dto_1.CreateAdminDto) { +} +exports.UpdateAdminDto = UpdateAdminDto; +//# sourceMappingURL=update-admin.dto.js.map \ No newline at end of file diff --git a/backend/dist/admin/dto/update-admin.dto.js.map b/backend/dist/admin/dto/update-admin.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..33ac60add93a3f7c3a99b8b8ac1cef75e4d8c504 --- /dev/null +++ b/backend/dist/admin/dto/update-admin.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"update-admin.dto.js","sourceRoot":"","sources":["../../../src/admin/dto/update-admin.dto.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AACnD,yDAAoD;AAEpD,MAAa,cAAe,SAAQ,IAAA,0BAAW,EAAC,iCAAc,CAAC;CAAG;AAAlE,wCAAkE"} \ No newline at end of file diff --git a/backend/dist/admin/entities/admin.entity.d.ts b/backend/dist/admin/entities/admin.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..454f7f19cd368b5e5ba95313b0aab6d2692ba8f1 --- /dev/null +++ b/backend/dist/admin/entities/admin.entity.d.ts @@ -0,0 +1,13 @@ +import { AdminResetCode } from 'src/auth/admin/entitites/admin-reset-code.entity'; +import { UserStatus } from 'src/shared/enum/user-status.enum'; +import { Town } from 'src/town/entities/town.entity'; +export declare class Admin { + email: string; + idTown: Town; + name: string; + lastName: string; + role: string; + password: string; + status: UserStatus; + resetCodes: AdminResetCode[]; +} diff --git a/backend/dist/admin/entities/admin.entity.js b/backend/dist/admin/entities/admin.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..9e46c5f10afcdbcf4853096630a93b5d14a3b505 --- /dev/null +++ b/backend/dist/admin/entities/admin.entity.js @@ -0,0 +1,68 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Admin = void 0; +const admin_reset_code_entity_1 = require("../../auth/admin/entitites/admin-reset-code.entity"); +const admin_role_enum_1 = require("../../shared/enum/admin-role.enum"); +const user_status_enum_1 = require("../../shared/enum/user-status.enum"); +const town_entity_1 = require("../../town/entities/town.entity"); +const typeorm_1 = require("typeorm"); +let Admin = class Admin { + constructor() { + this.status = user_status_enum_1.UserStatus.ACTIVE; + } +}; +exports.Admin = Admin; +__decorate([ + (0, typeorm_1.PrimaryColumn)(), + __metadata("design:type", String) +], Admin.prototype, "email", void 0); +__decorate([ + (0, typeorm_1.JoinColumn)({ name: 'idTown' }), + (0, typeorm_1.ManyToOne)(() => town_entity_1.Town, (town) => town.townId, { nullable: true, eager: true }), + __metadata("design:type", town_entity_1.Town) +], Admin.prototype, "idTown", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], Admin.prototype, "name", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], Admin.prototype, "lastName", void 0); +__decorate([ + (0, typeorm_1.Column)({ + type: 'enum', + enum: admin_role_enum_1.ADMIN_ROLE, + default: admin_role_enum_1.ADMIN_ROLE.ADMIN, + }), + __metadata("design:type", String) +], Admin.prototype, "role", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], Admin.prototype, "password", void 0); +__decorate([ + (0, typeorm_1.Column)({ + type: 'enum', + enum: user_status_enum_1.UserStatus, + default: 'active', + }), + __metadata("design:type", String) +], Admin.prototype, "status", void 0); +__decorate([ + (0, typeorm_1.OneToMany)(() => admin_reset_code_entity_1.AdminResetCode, (resetCode) => resetCode.admin), + __metadata("design:type", Array) +], Admin.prototype, "resetCodes", void 0); +exports.Admin = Admin = __decorate([ + (0, typeorm_1.Entity)() +], Admin); +//# sourceMappingURL=admin.entity.js.map \ No newline at end of file diff --git a/backend/dist/admin/entities/admin.entity.js.map b/backend/dist/admin/entities/admin.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3f0db00035db4ba2044fc7313590648b9e15da80 --- /dev/null +++ b/backend/dist/admin/entities/admin.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"admin.entity.js","sourceRoot":"","sources":["../../../src/admin/entities/admin.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gGAAkF;AAClF,uEAA6D;AAC7D,yEAA8D;AAC9D,iEAAqD;AACrD,qCAA0F;AAGnF,IAAM,KAAK,GAAX,MAAM,KAAK;IAAX;QA6BL,WAAM,GAAe,6BAAU,CAAC,MAAM,CAAC;IAIzC,CAAC;CAAA,CAAA;AAjCY,sBAAK;AAEhB;IADC,IAAA,uBAAa,GAAE;;oCACF;AAId;IAFC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC9B,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;8BACtE,kBAAI;qCAAC;AAGb;IADC,IAAA,gBAAM,GAAE;;mCACI;AAGb;IADC,IAAA,gBAAM,GAAE;;uCACQ;AAOjB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,4BAAU;QAChB,OAAO,EAAE,4BAAU,CAAC,KAAK;KAC1B,CAAC;;mCACW;AAGb;IADC,IAAA,gBAAM,GAAE;;uCACQ;AAOjB;IALC,IAAA,gBAAM,EAAC;QACN,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,6BAAU;QAChB,OAAO,EAAE,QAAQ;KAClB,CAAC;;qCACqC;AAGvC;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wCAAc,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;;yCACnC;gBAhClB,KAAK;IADjB,IAAA,gBAAM,GAAE;GACI,KAAK,CAiCjB"} \ No newline at end of file diff --git a/backend/dist/app.controller.d.ts b/backend/dist/app.controller.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..abccd016fd8c4373b502188a39f453c9aa0acb32 --- /dev/null +++ b/backend/dist/app.controller.d.ts @@ -0,0 +1,5 @@ +import { AppService } from './app.service'; +export declare class AppController { + private readonly appService; + constructor(appService: AppService); +} diff --git a/backend/dist/app.controller.js b/backend/dist/app.controller.js new file mode 100644 index 0000000000000000000000000000000000000000..2b082731bb95f14767baa85accd8e656a917cb7a --- /dev/null +++ b/backend/dist/app.controller.js @@ -0,0 +1,25 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AppController = void 0; +const common_1 = require("@nestjs/common"); +const app_service_1 = require("./app.service"); +let AppController = class AppController { + constructor(appService) { + this.appService = appService; + } +}; +exports.AppController = AppController; +exports.AppController = AppController = __decorate([ + (0, common_1.Controller)(), + __metadata("design:paramtypes", [app_service_1.AppService]) +], AppController); +//# sourceMappingURL=app.controller.js.map \ No newline at end of file diff --git a/backend/dist/app.controller.js.map b/backend/dist/app.controller.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7fffcea90a8fc081f65576d740d3c40b3f49490c --- /dev/null +++ b/backend/dist/app.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"app.controller.js","sourceRoot":"","sources":["../src/app.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,+CAA2C;AAGpC,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;CACxD,CAAA;AAFY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAE8B,wBAAU;GADxC,aAAa,CAEzB"} \ No newline at end of file diff --git a/backend/dist/app.module.d.ts b/backend/dist/app.module.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..09cdb35c8fca332ebd3ae5e1298f30aec1a8a721 --- /dev/null +++ b/backend/dist/app.module.d.ts @@ -0,0 +1,2 @@ +export declare class AppModule { +} diff --git a/backend/dist/app.module.js b/backend/dist/app.module.js new file mode 100644 index 0000000000000000000000000000000000000000..ee3ab909aa6e4974a331fa05622995e70f72df22 --- /dev/null +++ b/backend/dist/app.module.js @@ -0,0 +1,120 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AppModule = void 0; +const common_1 = require("@nestjs/common"); +const typeorm_1 = require("@nestjs/typeorm"); +const app_controller_1 = require("./app.controller"); +const app_service_1 = require("./app.service"); +const admin_module_1 = require("./admin/admin.module"); +const admin_entity_1 = require("./admin/entities/admin.entity"); +const db_constants_1 = require("./constants/db.constants"); +const authAdmin_module_1 = require("./auth/admin/authAdmin.module"); +const user_module_1 = require("./user/user.module"); +const user_entity_1 = require("./user/entities/user.entity"); +const authUser_module_1 = require("./auth/user/authUser.module"); +const state_module_1 = require("./state/state.module"); +const database_seeder_module_1 = require("./database-seeder/database-seeder.module"); +const state_entity_1 = require("./state/entities/state.entity"); +const serve_static_1 = require("@nestjs/serve-static"); +const path_1 = require("path"); +const town_entity_1 = require("./town/entities/town.entity"); +const town_module_1 = require("./town/town.module"); +const town_traduction_entity_1 = require("./town/entities/town-traduction.entity"); +const place_module_1 = require("./place/place.module"); +const place_entity_1 = require("./place/entities/place.entity"); +const PointOfInterest_module_1 = require("./pointOfInterest/PointOfInterest.module"); +const PointOfInterest_entity_1 = require("./pointOfInterest/entities/PointOfInterest.entity"); +const available_date_entity_1 = require("./place/entities/available-date.entity"); +const PointOfInterestTraduction_entity_1 = require("./pointOfInterest/entities/PointOfInterestTraduction.entity"); +const place_traduction_entity_1 = require("./place/entities/place-traduction.entity"); +const category_module_1 = require("./category/category.module"); +const category_entity_1 = require("./category/entities/category.entity"); +const route_module_1 = require("./route/route.module"); +const route_entity_1 = require("./route/entities/route.entity"); +const travel_place_module_1 = require("./travel-place/travel-place.module"); +const travel_place_entity_1 = require("./travel-place/entities/travel-place.entity"); +const visited_module_1 = require("./visited/visited.module"); +const visited_entity_1 = require("./visited/entities/visited.entity"); +const email_service_1 = require("./email/email.service"); +const user_reset_code_entity_1 = require("./auth/user/entities/user-reset-code.entity"); +const mailer_1 = require("@nestjs-modules/mailer"); +const mail_constants_1 = require("./constants/mail.constants"); +const admin_reset_code_entity_1 = require("./auth/admin/entitites/admin-reset-code.entity"); +const user_confirm_code_entity_1 = require("./auth/user/entities/user-confirm-code.entity"); +let AppModule = class AppModule { +}; +exports.AppModule = AppModule; +exports.AppModule = AppModule = __decorate([ + (0, common_1.Module)({ + imports: [ + typeorm_1.TypeOrmModule.forRoot({ + type: 'mysql', + host: db_constants_1.DbConstants.DB_HOST, + username: db_constants_1.DbConstants.DB_USER, + password: db_constants_1.DbConstants.DB_PASSWORD, + database: db_constants_1.DbConstants.DB_NAME, + entities: [ + admin_entity_1.Admin, + user_entity_1.User, + state_entity_1.State, + town_entity_1.Town, + town_traduction_entity_1.TownTraduction, + place_entity_1.Place, + PointOfInterest_entity_1.PointOfInterest, + available_date_entity_1.AvailableDate, + PointOfInterestTraduction_entity_1.PointOfInterestTraduction, + place_traduction_entity_1.PlaceTraduction, + category_entity_1.Category, + route_entity_1.Route, + travel_place_entity_1.TravelPlace, + visited_entity_1.Visited, + user_reset_code_entity_1.UserResetCode, + admin_reset_code_entity_1.AdminResetCode, + user_confirm_code_entity_1.UserConfirmCode, + ], + synchronize: db_constants_1.DbConstants.DB_SYNC, + logging: false, + }), + mailer_1.MailerModule.forRoot({ + transport: { + host: mail_constants_1.MailConstants.MAIL_HOST, + port: 587, + secure: false, + auth: { + user: mail_constants_1.MailConstants.MAIL_USER, + pass: mail_constants_1.MailConstants.MAIL_PASSWORD, + }, + }, + defaults: { + from: '"No Reply" ', + }, + }), + authAdmin_module_1.AuthAdminModule, + admin_module_1.AdminModule, + user_module_1.UserModule, + authUser_module_1.AuthUserModule, + state_module_1.StateModule, + database_seeder_module_1.DatabaseSeederModule, + town_module_1.TownModule, + place_module_1.PlaceModule, + serve_static_1.ServeStaticModule.forRoot({ + rootPath: (0, path_1.join)(__dirname, '..', 'static'), + }), + PointOfInterest_module_1.PointOfInterestModule, + category_module_1.CategoryModule, + route_module_1.RouteModule, + travel_place_module_1.TravelPlaceModule, + visited_module_1.VisitedModule, + ], + controllers: [app_controller_1.AppController], + providers: [app_service_1.AppService, database_seeder_module_1.DatabaseSeederModule, email_service_1.EmailService], + exports: [typeorm_1.TypeOrmModule], + }) +], AppModule); +//# sourceMappingURL=app.module.js.map \ No newline at end of file diff --git a/backend/dist/app.module.js.map b/backend/dist/app.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f541ee8cc3cc1a29aacb63d7d3befdd65d773c50 --- /dev/null +++ b/backend/dist/app.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,qDAAiD;AACjD,+CAA2C;AAC3C,uDAAmD;AACnD,gEAAsD;AACtD,2DAAuD;AACvD,oEAAgE;AAChE,oDAAgD;AAChD,6DAAmD;AACnD,iEAA6D;AAC7D,uDAAmD;AACnD,qFAAgF;AAChF,gEAAsD;AACtD,uDAAyD;AACzD,+BAA4B;AAC5B,6DAAmD;AACnD,oDAAgD;AAChD,mFAAwE;AACxE,uDAAmD;AACnD,gEAAsD;AACtD,qFAAiF;AACjF,8FAAoF;AACpF,kFAAuE;AACvE,kHAAwG;AACxG,sFAA2E;AAC3E,gEAA4D;AAC5D,yEAA+D;AAC/D,uDAAmD;AACnD,gEAAsD;AACtD,4EAAuE;AACvE,qFAA0E;AAC1E,6DAAyD;AACzD,sEAA4D;AAC5D,yDAAqD;AACrD,wFAA4E;AAC5E,mDAAsD;AACtD,+DAA2D;AAC3D,4FAAgF;AAChF,4FAAgF;AAmEzE,IAAM,SAAS,GAAf,MAAM,SAAS;CAAG,CAAA;AAAZ,8BAAS;oBAAT,SAAS;IAjErB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,OAAO,CAAC;gBACpB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,0BAAW,CAAC,OAAO;gBACzB,QAAQ,EAAE,0BAAW,CAAC,OAAO;gBAC7B,QAAQ,EAAE,0BAAW,CAAC,WAAW;gBACjC,QAAQ,EAAE,0BAAW,CAAC,OAAO;gBAC7B,QAAQ,EAAE;oBACR,oBAAK;oBACL,kBAAI;oBACJ,oBAAK;oBACL,kBAAI;oBACJ,uCAAc;oBACd,oBAAK;oBACL,wCAAe;oBACf,qCAAa;oBACb,4DAAyB;oBACzB,yCAAe;oBACf,0BAAQ;oBACR,oBAAK;oBACL,iCAAW;oBACX,wBAAO;oBACP,sCAAa;oBACb,wCAAc;oBACd,0CAAe;iBAChB;gBACD,WAAW,EAAE,0BAAW,CAAC,OAAO;gBAChC,OAAO,EAAE,KAAK;aACf,CAAC;YACF,qBAAY,CAAC,OAAO,CAAC;gBACnB,SAAS,EAAE;oBACT,IAAI,EAAE,8BAAa,CAAC,SAAS;oBAC7B,IAAI,EAAE,GAAG;oBACT,MAAM,EAAE,KAAK;oBACb,IAAI,EAAE;wBACJ,IAAI,EAAE,8BAAa,CAAC,SAAS;wBAC7B,IAAI,EAAE,8BAAa,CAAC,aAAa;qBAClC;iBACF;gBACD,QAAQ,EAAE;oBACR,IAAI,EAAE,kCAAkC;iBACzC;aACF,CAAC;YACF,kCAAe;YACf,0BAAW;YACX,wBAAU;YACV,gCAAc;YACd,0BAAW;YACX,6CAAoB;YACpB,wBAAU;YACV,0BAAW;YACX,gCAAiB,CAAC,OAAO,CAAC;gBACxB,QAAQ,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;aAC1C,CAAC;YACF,8CAAqB;YACrB,gCAAc;YACd,0BAAW;YACX,uCAAiB;YACjB,8BAAa;SACd;QACD,WAAW,EAAE,CAAC,8BAAa,CAAC;QAC5B,SAAS,EAAE,CAAC,wBAAU,EAAE,6CAAoB,EAAE,4BAAY,CAAC;QAC3D,OAAO,EAAE,CAAC,uBAAa,CAAC;KACzB,CAAC;GACW,SAAS,CAAG"} \ No newline at end of file diff --git a/backend/dist/app.service.d.ts b/backend/dist/app.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..1a0f977faa98a8f431265c284e92c1770cef81a5 --- /dev/null +++ b/backend/dist/app.service.d.ts @@ -0,0 +1,2 @@ +export declare class AppService { +} diff --git a/backend/dist/app.service.js b/backend/dist/app.service.js new file mode 100644 index 0000000000000000000000000000000000000000..0c9959f769b7a05f029e2d0bdc306ef080a7ed12 --- /dev/null +++ b/backend/dist/app.service.js @@ -0,0 +1,17 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AppService = void 0; +const common_1 = require("@nestjs/common"); +let AppService = class AppService { +}; +exports.AppService = AppService; +exports.AppService = AppService = __decorate([ + (0, common_1.Injectable)() +], AppService); +//# sourceMappingURL=app.service.js.map \ No newline at end of file diff --git a/backend/dist/app.service.js.map b/backend/dist/app.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c90c4998114c39033811a5d684cde3b5bb76c0e2 --- /dev/null +++ b/backend/dist/app.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"app.service.js","sourceRoot":"","sources":["../src/app.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAGrC,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IADtB,IAAA,mBAAU,GAAE;GACA,UAAU,CAAG"} \ No newline at end of file diff --git a/backend/dist/auth/admin/authAdmin.guard.d.ts b/backend/dist/auth/admin/authAdmin.guard.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..4b2bb43cad7c981fe52b2c86e9c2edd4465b1068 --- /dev/null +++ b/backend/dist/auth/admin/authAdmin.guard.d.ts @@ -0,0 +1,11 @@ +import { CanActivate, ExecutionContext } from '@nestjs/common'; +import { Reflector } from '@nestjs/core'; +import { AuthAdminService } from './authAdmin.service'; +import { AdminService } from 'src/admin/admin.service'; +export declare class AuthAdminGuard implements CanActivate { + private authAdminService; + private adminService; + private reflector; + constructor(authAdminService: AuthAdminService, adminService: AdminService, reflector: Reflector); + canActivate(context: ExecutionContext): Promise; +} diff --git a/backend/dist/auth/admin/authAdmin.guard.js b/backend/dist/auth/admin/authAdmin.guard.js new file mode 100644 index 0000000000000000000000000000000000000000..f79745de1e34adc9b2effa7e185185cb10f6accf --- /dev/null +++ b/backend/dist/auth/admin/authAdmin.guard.js @@ -0,0 +1,48 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AuthAdminGuard = void 0; +const common_1 = require("@nestjs/common"); +const core_1 = require("@nestjs/core"); +const role_decorator_1 = require("../role.decorator"); +const authAdmin_service_1 = require("./authAdmin.service"); +const admin_service_1 = require("../../admin/admin.service"); +let AuthAdminGuard = class AuthAdminGuard { + constructor(authAdminService, adminService, reflector) { + this.authAdminService = authAdminService; + this.adminService = adminService; + this.reflector = reflector; + } + async canActivate(context) { + const requiredRole = this.reflector.get(role_decorator_1.Roles, context.getHandler()); + if (!requiredRole) + return true; + const request = context.switchToHttp().getRequest(); + let { authorization } = request.headers; + if (!authorization) + throw new common_1.UnauthorizedException('session expired! Please sign In'); + authorization = authorization.split(' ')[1]; + const jwtPayload = await this.authAdminService.validateToken(authorization); + if (!requiredRole.includes(jwtPayload.role)) + throw new common_1.UnauthorizedException('Unauthorized access'); + const admin = await this.adminService.findOne(jwtPayload.email); + request.admin = { ...admin }; + return true; + } +}; +exports.AuthAdminGuard = AuthAdminGuard; +exports.AuthAdminGuard = AuthAdminGuard = __decorate([ + (0, common_1.Injectable)(), + __metadata("design:paramtypes", [authAdmin_service_1.AuthAdminService, + admin_service_1.AdminService, + core_1.Reflector]) +], AuthAdminGuard); +//# sourceMappingURL=authAdmin.guard.js.map \ No newline at end of file diff --git a/backend/dist/auth/admin/authAdmin.guard.js.map b/backend/dist/auth/admin/authAdmin.guard.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7e6e3ef51c1ff79097d1a70f3818264e2c17f5e2 --- /dev/null +++ b/backend/dist/auth/admin/authAdmin.guard.js.map @@ -0,0 +1 @@ +{"version":3,"file":"authAdmin.guard.js","sourceRoot":"","sources":["../../../src/auth/admin/authAdmin.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAkG;AAClG,uCAAyC;AACzC,sDAA0C;AAC1C,2DAAuD;AACvD,6DAAuD;AAGhD,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YACU,gBAAkC,EAClC,YAA0B,EAC1B,SAAoB;QAFpB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,cAAS,GAAT,SAAS,CAAW;IAC3B,CAAC;IACJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAK,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,IAAI,EAAE,aAAa,EAAE,GAAQ,OAAO,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,8BAAqB,CAAC,iCAAiC,CAAC,CAAC;QACvF,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAC5E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,8BAAqB,CAAC,qBAAqB,CAAC,CAAC;QACpG,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAChE,OAAO,CAAC,KAAK,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAnBY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;qCAGiB,oCAAgB;QACpB,4BAAY;QACf,gBAAS;GAJnB,cAAc,CAmB1B"} \ No newline at end of file diff --git a/backend/dist/auth/admin/authAdmin.module.d.ts b/backend/dist/auth/admin/authAdmin.module.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..4c7476da56cfe8d010dbffad94f3c07cb85c7ea1 --- /dev/null +++ b/backend/dist/auth/admin/authAdmin.module.d.ts @@ -0,0 +1,2 @@ +export declare class AuthAdminModule { +} diff --git a/backend/dist/auth/admin/authAdmin.module.js b/backend/dist/auth/admin/authAdmin.module.js new file mode 100644 index 0000000000000000000000000000000000000000..612ac9d31f45460859d0b31933a94e6ad60c8178 --- /dev/null +++ b/backend/dist/auth/admin/authAdmin.module.js @@ -0,0 +1,33 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AuthAdminModule = void 0; +const common_1 = require("@nestjs/common"); +const authAdmincontroller_1 = require("./authAdmincontroller"); +const encryption_service_1 = require("../encryption/encryption.service"); +const typeorm_1 = require("@nestjs/typeorm"); +const admin_entity_1 = require("../../admin/entities/admin.entity"); +const authAdmin_service_1 = require("./authAdmin.service"); +const admin_service_1 = require("../../admin/admin.service"); +const jwt_1 = require("@nestjs/jwt"); +const authAdmin_guard_1 = require("./authAdmin.guard"); +const town_entity_1 = require("../../town/entities/town.entity"); +const admin_reset_code_entity_1 = require("./entitites/admin-reset-code.entity"); +const email_service_1 = require("../../email/email.service"); +let AuthAdminModule = class AuthAdminModule { +}; +exports.AuthAdminModule = AuthAdminModule; +exports.AuthAdminModule = AuthAdminModule = __decorate([ + (0, common_1.Module)({ + controllers: [authAdmincontroller_1.AuthAdminController], + providers: [authAdmin_service_1.AuthAdminService, admin_service_1.AdminService, jwt_1.JwtService, encryption_service_1.EncryptionService, authAdmin_guard_1.AuthAdminGuard, email_service_1.EmailService], + imports: [typeorm_1.TypeOrmModule.forFeature([admin_entity_1.Admin, town_entity_1.Town, admin_reset_code_entity_1.AdminResetCode])], + exports: [authAdmin_service_1.AuthAdminService], + }) +], AuthAdminModule); +//# sourceMappingURL=authAdmin.module.js.map \ No newline at end of file diff --git a/backend/dist/auth/admin/authAdmin.module.js.map b/backend/dist/auth/admin/authAdmin.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..621cedd76b1d95e6818e7a39795159fdda8b9a19 --- /dev/null +++ b/backend/dist/auth/admin/authAdmin.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"authAdmin.module.js","sourceRoot":"","sources":["../../../src/auth/admin/authAdmin.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+DAA4D;AAC5D,yEAAqE;AACrE,6CAAgD;AAChD,oEAAwD;AACxD,2DAAuD;AACvD,6DAAuD;AACvD,qCAAyC;AACzC,uDAAmD;AACnD,iEAAqD;AACrD,iFAAqE;AACrE,6DAAuD;AAQhD,IAAM,eAAe,GAArB,MAAM,eAAe;CAAG,CAAA;AAAlB,0CAAe;0BAAf,eAAe;IAN3B,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,yCAAmB,CAAC;QAClC,SAAS,EAAE,CAAC,oCAAgB,EAAE,4BAAY,EAAE,gBAAU,EAAE,sCAAiB,EAAE,gCAAc,EAAE,4BAAY,CAAC;QACxG,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,oBAAK,EAAE,kBAAI,EAAE,wCAAc,CAAC,CAAC,CAAC;QAClE,OAAO,EAAE,CAAC,oCAAgB,CAAC;KAC5B,CAAC;GACW,eAAe,CAAG"} \ No newline at end of file diff --git a/backend/dist/auth/admin/authAdmin.service.d.ts b/backend/dist/auth/admin/authAdmin.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..7db2c4d7b0b748fa39df81162c2810a45c6a7768 --- /dev/null +++ b/backend/dist/auth/admin/authAdmin.service.d.ts @@ -0,0 +1,24 @@ +import { AdminService } from 'src/admin/admin.service'; +import { JwtService } from '@nestjs/jwt'; +import { EncryptionService } from '../encryption/encryption.service'; +import { CreateAdminDto } from 'src/admin/dto/create-admin.dto'; +import { LoginAdminDto } from 'src/auth/admin/dto/login-admin.dto'; +import { AdminSigninResDto } from './dto/admin-signin-res.dto'; +import { PayloadJwtDto } from 'src/shared/dto/payload-jwt.dto'; +import { UpdatePwdDto } from '../user/dto/update-pwd.dto'; +import { AdminResetCode } from './entitites/admin-reset-code.entity'; +import { Repository } from 'typeorm'; +import { AdminResetPasswordDto } from './dto/admin-reset-password.dto'; +export declare class AuthAdminService { + private adminResetCodeRepository; + private adminService; + private jwtService; + private encryptionService; + constructor(adminResetCodeRepository: Repository, adminService: AdminService, jwtService: JwtService, encryptionService: EncryptionService); + signUp(createAdminDto: CreateAdminDto): Promise; + signIn(logInAdmin: LoginAdminDto): Promise; + validateToken(token: string): Promise; + changePassword(email: string, updatePwdDto: UpdatePwdDto): Promise; + getResetPasswordCode(email: string): Promise; + resetPassword(adminResetPasswordDto: AdminResetPasswordDto): Promise; +} diff --git a/backend/dist/auth/admin/authAdmin.service.js b/backend/dist/auth/admin/authAdmin.service.js new file mode 100644 index 0000000000000000000000000000000000000000..06d68a1796f2066f73cb4aea808b1e80f3ee1382 --- /dev/null +++ b/backend/dist/auth/admin/authAdmin.service.js @@ -0,0 +1,122 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AuthAdminService = void 0; +const common_1 = require("@nestjs/common"); +const admin_service_1 = require("../../admin/admin.service"); +const jwt_1 = require("@nestjs/jwt"); +const encryption_service_1 = require("../encryption/encryption.service"); +const jwt_constants_1 = require("../../constants/jwt.constants"); +const crypto_1 = require("crypto"); +const typeorm_1 = require("@nestjs/typeorm"); +const admin_reset_code_entity_1 = require("./entitites/admin-reset-code.entity"); +const typeorm_2 = require("typeorm"); +let AuthAdminService = class AuthAdminService { + constructor(adminResetCodeRepository, adminService, jwtService, encryptionService) { + this.adminResetCodeRepository = adminResetCodeRepository; + this.adminService = adminService; + this.jwtService = jwtService; + this.encryptionService = encryptionService; + } + async signUp(createAdminDto) { + const loginAdminDto = { + email: createAdminDto.email, + password: createAdminDto.password, + }; + const hashedPwd = await this.encryptionService.hashPassword(createAdminDto.password); + createAdminDto.password = hashedPwd; + if (await this.adminService.adminExists(createAdminDto.email)) { + throw new common_1.HttpException('Admin already exists', common_1.HttpStatus.UNAUTHORIZED); + } + await this.adminService.create(createAdminDto); + const adminSigninResDto = await this.signIn(loginAdminDto); + return adminSigninResDto.token; + } + async signIn(logInAdmin) { + const admin = await this.adminService.findOne(logInAdmin.email); + const validPwd = await this.encryptionService.comparePassword(logInAdmin.password, admin.password); + if (!validPwd) { + throw new common_1.HttpException('Invalid credentials', common_1.HttpStatus.UNAUTHORIZED); + } + const accessToken = await this.jwtService.sign({ email: admin.email, role: admin.role }, { secret: jwt_constants_1.JwtConstants.SECRET }); + const adminSigninResDto = { + email: admin.email, + name: admin.name, + role: admin.role, + token: accessToken, + }; + return adminSigninResDto; + } + async validateToken(token) { + try { + const payload = await this.jwtService.verify(token, { secret: jwt_constants_1.JwtConstants.SECRET }); + return payload; + } + catch (error) { + throw new common_1.UnauthorizedException('Invalid token'); + } + } + async changePassword(email, updatePwdDto) { + const admin = await this.adminService.findOne(email); + const validPwd = await this.encryptionService.comparePassword(updatePwdDto.prevPassword, admin.password); + if (!validPwd) { + throw new common_1.HttpException('Invalid password', common_1.HttpStatus.UNAUTHORIZED); + } + const hashedPwd = await this.encryptionService.hashPassword(updatePwdDto.newPassword); + await this.adminService.updatePassword(email, hashedPwd); + } + async getResetPasswordCode(email) { + const admin = await this.adminService.findOne(email); + if (!admin) + throw new common_1.UnauthorizedException('Invalid email'); + const resetCode = (0, crypto_1.randomInt)(100000, 999999).toString(); + const expirationDate = new Date(); + expirationDate.setMinutes(expirationDate.getMinutes() + 10); + const existUserCode = await this.adminResetCodeRepository.findBy({ + admin: admin, + code: resetCode, + }); + if (existUserCode.length > 0) { + await this.adminResetCodeRepository.delete(existUserCode[0].id); + } + await this.adminResetCodeRepository.save({ admin, code: resetCode, expirationDate }); + return resetCode; + } + async resetPassword(adminResetPasswordDto) { + const admin = await this.adminService.findOne(adminResetPasswordDto.email); + if (!admin) + throw new common_1.UnauthorizedException('Invalid email'); + const adminResetCode = await this.adminResetCodeRepository.findBy({ + admin: admin, + code: adminResetPasswordDto.resetCode, + }); + if (adminResetCode.length === 0) + throw new common_1.UnauthorizedException('Invalid code'); + if (adminResetCode[0].expirationDate < new Date()) + throw new common_1.UnauthorizedException('Code expired'); + const hashedPwd = await this.encryptionService.hashPassword(adminResetPasswordDto.newPassword); + await this.adminService.updatePassword(adminResetPasswordDto.email, hashedPwd); + await this.adminResetCodeRepository.delete(adminResetCode[0].id); + } +}; +exports.AuthAdminService = AuthAdminService; +exports.AuthAdminService = AuthAdminService = __decorate([ + (0, common_1.Injectable)(), + __param(0, (0, typeorm_1.InjectRepository)(admin_reset_code_entity_1.AdminResetCode)), + __metadata("design:paramtypes", [typeorm_2.Repository, + admin_service_1.AdminService, + jwt_1.JwtService, + encryption_service_1.EncryptionService]) +], AuthAdminService); +//# sourceMappingURL=authAdmin.service.js.map \ No newline at end of file diff --git a/backend/dist/auth/admin/authAdmin.service.js.map b/backend/dist/auth/admin/authAdmin.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b6514c4b922c48c778e1464df7089c8578c689e0 --- /dev/null +++ b/backend/dist/auth/admin/authAdmin.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"authAdmin.service.js","sourceRoot":"","sources":["../../../src/auth/admin/authAdmin.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/auth/admin/authAdmincontroller.d.ts b/backend/dist/auth/admin/authAdmincontroller.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..5dd7966f0cae05b23e4605ea4f058c0a30af180e --- /dev/null +++ b/backend/dist/auth/admin/authAdmincontroller.d.ts @@ -0,0 +1,21 @@ +import { AuthAdminService } from './authAdmin.service'; +import { CreateAdminDto } from 'src/admin/dto/create-admin.dto'; +import { LoginAdminDto } from 'src/auth/admin/dto/login-admin.dto'; +import { AdminSigninResDto } from './dto/admin-signin-res.dto'; +import { UpdatePwdDto } from '../user/dto/update-pwd.dto'; +import { CustomAdminRequest } from './interface/customAdminReq'; +import { AdminResetPasswordBody } from './dto/admin-reset-password.dto'; +import { GetResetCode } from './dto/get-reset-code.dto'; +import { EmailService } from 'src/email/email.service'; +export declare class AuthAdminController { + private readonly authAdminService; + private readonly mailService; + constructor(authAdminService: AuthAdminService, mailService: EmailService); + signUp(createAdminDto: CreateAdminDto): Promise<{ + token: string; + }>; + signIn(loginAdminDto: LoginAdminDto): Promise; + changePassword(req: CustomAdminRequest, updatePwdDto: UpdatePwdDto): Promise; + resetPassword(resetPasswordDto: AdminResetPasswordBody): Promise; + getResetCode(resetPasswordInfo: GetResetCode): Promise; +} diff --git a/backend/dist/auth/admin/authAdmincontroller.js b/backend/dist/auth/admin/authAdmincontroller.js new file mode 100644 index 0000000000000000000000000000000000000000..0c5a572bb6bc597157d8e7fe7223e3ed6a301183 --- /dev/null +++ b/backend/dist/auth/admin/authAdmincontroller.js @@ -0,0 +1,136 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AuthAdminController = void 0; +const common_1 = require("@nestjs/common"); +const authAdmin_service_1 = require("./authAdmin.service"); +const create_admin_dto_1 = require("../../admin/dto/create-admin.dto"); +const login_admin_dto_1 = require("./dto/login-admin.dto"); +const swagger_1 = require("@nestjs/swagger"); +const admin_signin_res_dto_1 = require("./dto/admin-signin-res.dto"); +const role_decorator_1 = require("../role.decorator"); +const admin_role_enum_1 = require("../../shared/enum/admin-role.enum"); +const authAdmin_guard_1 = require("./authAdmin.guard"); +const update_pwd_dto_1 = require("../user/dto/update-pwd.dto"); +const admin_reset_password_dto_1 = require("./dto/admin-reset-password.dto"); +const email_service_1 = require("../../email/email.service"); +let AuthAdminController = class AuthAdminController { + constructor(authAdminService, mailService) { + this.authAdminService = authAdminService; + this.mailService = mailService; + } + async signUp(createAdminDto) { + try { + createAdminDto.role = admin_role_enum_1.ADMIN_ROLE.ADMIN; + const accessToken = await this.authAdminService.signUp(createAdminDto); + return { token: accessToken }; + } + catch (e) { + throw e; + } + } + async signIn(loginAdminDto) { + try { + const adminSigninResDto = await this.authAdminService.signIn(loginAdminDto); + return adminSigninResDto; + } + catch (e) { + throw e; + } + } + async changePassword(req, updatePwdDto) { + const email = req.admin.email; + return this.authAdminService.changePassword(email, updatePwdDto); + } + async resetPassword(resetPasswordDto) { + return this.authAdminService.resetPassword(resetPasswordDto); + } + async getResetCode(resetPasswordInfo) { + try { + const code = await this.authAdminService.getResetPasswordCode(resetPasswordInfo.email); + await this.mailService.sendResetPasswordEmail(resetPasswordInfo.email, code); + } + catch (e) { + throw e; + } + } +}; +exports.AuthAdminController = AuthAdminController; +__decorate([ + (0, swagger_1.ApiBody)({ type: create_admin_dto_1.CreateAdminDto }), + (0, swagger_1.ApiCreatedResponse)({ + content: { + 'application/json': { + example: { + token: 'token', + }, + }, + }, + }), + (0, common_1.UseGuards)(authAdmin_guard_1.AuthAdminGuard), + (0, role_decorator_1.Roles)(admin_role_enum_1.SUPERADMIN_ROLES), + (0, common_1.Post)('admin/signup'), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, swagger_1.ApiUnauthorizedResponse)(), + __param(0, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [create_admin_dto_1.CreateAdminDto]), + __metadata("design:returntype", Promise) +], AuthAdminController.prototype, "signUp", null); +__decorate([ + (0, swagger_1.ApiBody)({ type: login_admin_dto_1.LoginAdminDto }), + (0, swagger_1.ApiCreatedResponse)({ + type: admin_signin_res_dto_1.AdminSigninResDto, + }), + (0, swagger_1.ApiUnauthorizedResponse)(), + (0, common_1.Post)('admin/signin'), + __param(0, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [login_admin_dto_1.LoginAdminDto]), + __metadata("design:returntype", Promise) +], AuthAdminController.prototype, "signIn", null); +__decorate([ + (0, common_1.UseGuards)(authAdmin_guard_1.AuthAdminGuard), + (0, role_decorator_1.Roles)(admin_role_enum_1.ADMIN_ROLES), + (0, common_1.Post)('admin/change-password'), + (0, swagger_1.ApiBearerAuth)('jwt'), + __param(0, (0, common_1.Req)()), + __param(1, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, update_pwd_dto_1.UpdatePwdDto]), + __metadata("design:returntype", Promise) +], AuthAdminController.prototype, "changePassword", null); +__decorate([ + (0, swagger_1.ApiBody)({ type: admin_reset_password_dto_1.AdminResetPasswordBody }), + (0, common_1.Post)('admin/reset-password'), + __param(0, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [admin_reset_password_dto_1.AdminResetPasswordBody]), + __metadata("design:returntype", Promise) +], AuthAdminController.prototype, "resetPassword", null); +__decorate([ + (0, swagger_1.ApiBody)({ type: admin_reset_password_dto_1.AdminRequestCodeBody }), + (0, common_1.Post)('admin/get-reset-code'), + __param(0, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", Promise) +], AuthAdminController.prototype, "getResetCode", null); +exports.AuthAdminController = AuthAdminController = __decorate([ + (0, common_1.Controller)(), + (0, swagger_1.ApiTags)('Create admin account and sign in as admin'), + __metadata("design:paramtypes", [authAdmin_service_1.AuthAdminService, + email_service_1.EmailService]) +], AuthAdminController); +//# sourceMappingURL=authAdmincontroller.js.map \ No newline at end of file diff --git a/backend/dist/auth/admin/authAdmincontroller.js.map b/backend/dist/auth/admin/authAdmincontroller.js.map new file mode 100644 index 0000000000000000000000000000000000000000..79aebbff83011246b08cfb96614fc9356fef39ae --- /dev/null +++ b/backend/dist/auth/admin/authAdmincontroller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"authAdmincontroller.js","sourceRoot":"","sources":["../../../src/auth/admin/authAdmincontroller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/auth/admin/dto/admin-reset-password.dto.d.ts b/backend/dist/auth/admin/dto/admin-reset-password.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..6975a82dc726e3cd7e747613f034462a19016fbe --- /dev/null +++ b/backend/dist/auth/admin/dto/admin-reset-password.dto.d.ts @@ -0,0 +1,13 @@ +export interface AdminResetPasswordDto { + email: string; + resetCode: string; + newPassword: string; +} +export declare class AdminResetPasswordBody { + email: string; + resetCode: string; + newPassword: string; +} +export declare class AdminRequestCodeBody { + email: string; +} diff --git a/backend/dist/auth/admin/dto/admin-reset-password.dto.js b/backend/dist/auth/admin/dto/admin-reset-password.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..730458ac7e5dc2312932843408fe0a84ce88f559 --- /dev/null +++ b/backend/dist/auth/admin/dto/admin-reset-password.dto.js @@ -0,0 +1,36 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AdminRequestCodeBody = exports.AdminResetPasswordBody = void 0; +const swagger_1 = require("@nestjs/swagger"); +class AdminResetPasswordBody { +} +exports.AdminResetPasswordBody = AdminResetPasswordBody; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], AdminResetPasswordBody.prototype, "email", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], AdminResetPasswordBody.prototype, "resetCode", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], AdminResetPasswordBody.prototype, "newPassword", void 0); +class AdminRequestCodeBody { +} +exports.AdminRequestCodeBody = AdminRequestCodeBody; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], AdminRequestCodeBody.prototype, "email", void 0); +//# sourceMappingURL=admin-reset-password.dto.js.map \ No newline at end of file diff --git a/backend/dist/auth/admin/dto/admin-reset-password.dto.js.map b/backend/dist/auth/admin/dto/admin-reset-password.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..bf1f3117686ceffc9b8c566ce89004f8ad097cbb --- /dev/null +++ b/backend/dist/auth/admin/dto/admin-reset-password.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"admin-reset-password.dto.js","sourceRoot":"","sources":["../../../../src/auth/admin/dto/admin-reset-password.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAQ9C,MAAa,sBAAsB;CAOlC;AAPD,wDAOC;AALC;IADC,IAAA,qBAAW,GAAE;;qDACA;AAEd;IADC,IAAA,qBAAW,GAAE;;yDACI;AAElB;IADC,IAAA,qBAAW,GAAE;;2DACM;AAGtB,MAAa,oBAAoB;CAGhC;AAHD,oDAGC;AADC;IADC,IAAA,qBAAW,GAAE;;mDACA"} \ No newline at end of file diff --git a/backend/dist/auth/admin/dto/admin-signin-res.dto.d.ts b/backend/dist/auth/admin/dto/admin-signin-res.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..124a5c00a133105ea63454744e4a70452f1d166c --- /dev/null +++ b/backend/dist/auth/admin/dto/admin-signin-res.dto.d.ts @@ -0,0 +1,7 @@ +import { ADMIN_ROLE } from 'src/shared/enum/admin-role.enum'; +export declare class AdminSigninResDto { + email: string; + name: string; + token: string; + role: ADMIN_ROLE; +} diff --git a/backend/dist/auth/admin/dto/admin-signin-res.dto.js b/backend/dist/auth/admin/dto/admin-signin-res.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..fef6f0ad22c15e7f38a31b15d4e2f95fa83f8329 --- /dev/null +++ b/backend/dist/auth/admin/dto/admin-signin-res.dto.js @@ -0,0 +1,34 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AdminSigninResDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +const admin_role_enum_1 = require("../../../shared/enum/admin-role.enum"); +class AdminSigninResDto { +} +exports.AdminSigninResDto = AdminSigninResDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], AdminSigninResDto.prototype, "email", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], AdminSigninResDto.prototype, "name", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], AdminSigninResDto.prototype, "token", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], AdminSigninResDto.prototype, "role", void 0); +//# sourceMappingURL=admin-signin-res.dto.js.map \ No newline at end of file diff --git a/backend/dist/auth/admin/dto/admin-signin-res.dto.js.map b/backend/dist/auth/admin/dto/admin-signin-res.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2fd596bd54995850c878212add6c10e2e184b170 --- /dev/null +++ b/backend/dist/auth/admin/dto/admin-signin-res.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"admin-signin-res.dto.js","sourceRoot":"","sources":["../../../../src/auth/admin/dto/admin-signin-res.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,0EAA6D;AAE7D,MAAa,iBAAiB;CAS7B;AATD,8CASC;AAPC;IADC,IAAA,qBAAW,GAAE;;gDACA;AAEd;IADC,IAAA,qBAAW,GAAE;;+CACD;AAEb;IADC,IAAA,qBAAW,GAAE;;gDACA;AAEd;IADC,IAAA,qBAAW,GAAE;;+CACG"} \ No newline at end of file diff --git a/backend/dist/auth/admin/dto/get-reset-code.dto.d.ts b/backend/dist/auth/admin/dto/get-reset-code.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..2d24084d66b64b69e9f9028b587aa835af8df2fe --- /dev/null +++ b/backend/dist/auth/admin/dto/get-reset-code.dto.d.ts @@ -0,0 +1,3 @@ +export interface GetResetCode { + email: string; +} diff --git a/backend/dist/auth/admin/dto/get-reset-code.dto.js b/backend/dist/auth/admin/dto/get-reset-code.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..79d2a749af200b3ff4b8d0bb12adcb044d09eef6 --- /dev/null +++ b/backend/dist/auth/admin/dto/get-reset-code.dto.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=get-reset-code.dto.js.map \ No newline at end of file diff --git a/backend/dist/auth/admin/dto/get-reset-code.dto.js.map b/backend/dist/auth/admin/dto/get-reset-code.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..564a0bcec4a3ecabef48971e75fca5617cee4e31 --- /dev/null +++ b/backend/dist/auth/admin/dto/get-reset-code.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"get-reset-code.dto.js","sourceRoot":"","sources":["../../../../src/auth/admin/dto/get-reset-code.dto.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/backend/dist/auth/admin/dto/login-admin.dto.d.ts b/backend/dist/auth/admin/dto/login-admin.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..f4fd3876dec169adb63b673d1aa5ed35273a097a --- /dev/null +++ b/backend/dist/auth/admin/dto/login-admin.dto.d.ts @@ -0,0 +1,4 @@ +export declare class LoginAdminDto { + email: any; + password: any; +} diff --git a/backend/dist/auth/admin/dto/login-admin.dto.js b/backend/dist/auth/admin/dto/login-admin.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..33eb4fc2f5c00d273a592118d4a4defc09805257 --- /dev/null +++ b/backend/dist/auth/admin/dto/login-admin.dto.js @@ -0,0 +1,25 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.LoginAdminDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +class LoginAdminDto { +} +exports.LoginAdminDto = LoginAdminDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Object) +], LoginAdminDto.prototype, "email", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Object) +], LoginAdminDto.prototype, "password", void 0); +//# sourceMappingURL=login-admin.dto.js.map \ No newline at end of file diff --git a/backend/dist/auth/admin/dto/login-admin.dto.js.map b/backend/dist/auth/admin/dto/login-admin.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6a4072a2016dbf22f0856da6b1392f3be24b027b --- /dev/null +++ b/backend/dist/auth/admin/dto/login-admin.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"login-admin.dto.js","sourceRoot":"","sources":["../../../../src/auth/admin/dto/login-admin.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,aAAa;CAKzB;AALD,sCAKC;AAHC;IADC,IAAA,qBAAW,GAAE;;4CACR;AAEN;IADC,IAAA,qBAAW,GAAE;;+CACL"} \ No newline at end of file diff --git a/backend/dist/auth/admin/entitites/admin-reset-code.entity.d.ts b/backend/dist/auth/admin/entitites/admin-reset-code.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..b5d7d505e7087a2e1c6b5248e160923e0c1ff53c --- /dev/null +++ b/backend/dist/auth/admin/entitites/admin-reset-code.entity.d.ts @@ -0,0 +1,7 @@ +import { Admin } from 'src/admin/entities/admin.entity'; +export declare class AdminResetCode { + id: number; + admin: Admin; + code: string; + expirationDate: Date; +} diff --git a/backend/dist/auth/admin/entitites/admin-reset-code.entity.js b/backend/dist/auth/admin/entitites/admin-reset-code.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..84d0d28058bdd8c90ae3d35c7efec8746fc7c47a --- /dev/null +++ b/backend/dist/auth/admin/entitites/admin-reset-code.entity.js @@ -0,0 +1,37 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AdminResetCode = void 0; +const admin_entity_1 = require("../../../admin/entities/admin.entity"); +const typeorm_1 = require("typeorm"); +let AdminResetCode = class AdminResetCode { +}; +exports.AdminResetCode = AdminResetCode; +__decorate([ + (0, typeorm_1.PrimaryGeneratedColumn)(), + __metadata("design:type", Number) +], AdminResetCode.prototype, "id", void 0); +__decorate([ + (0, typeorm_1.ManyToOne)(() => admin_entity_1.Admin, (admin) => admin.resetCodes), + __metadata("design:type", admin_entity_1.Admin) +], AdminResetCode.prototype, "admin", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], AdminResetCode.prototype, "code", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", Date) +], AdminResetCode.prototype, "expirationDate", void 0); +exports.AdminResetCode = AdminResetCode = __decorate([ + (0, typeorm_1.Entity)() +], AdminResetCode); +//# sourceMappingURL=admin-reset-code.entity.js.map \ No newline at end of file diff --git a/backend/dist/auth/admin/entitites/admin-reset-code.entity.js.map b/backend/dist/auth/admin/entitites/admin-reset-code.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..43e613673bcfee82b91311907e1dbf867e590f2f --- /dev/null +++ b/backend/dist/auth/admin/entitites/admin-reset-code.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"admin-reset-code.entity.js","sourceRoot":"","sources":["../../../../src/auth/admin/entitites/admin-reset-code.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uEAAwD;AACxD,qCAA4E;AAGrE,IAAM,cAAc,GAApB,MAAM,cAAc;CAY1B,CAAA;AAZY,wCAAc;AAEzB;IADC,IAAA,gCAAsB,GAAE;;0CACd;AAGX;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,oBAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC;8BAC7C,oBAAK;6CAAC;AAGb;IADC,IAAA,gBAAM,GAAE;;4CACI;AAGb;IADC,IAAA,gBAAM,GAAE;8BACO,IAAI;sDAAC;yBAXV,cAAc;IAD1B,IAAA,gBAAM,GAAE;GACI,cAAc,CAY1B"} \ No newline at end of file diff --git a/backend/dist/auth/admin/interface/customAdminReq.d.ts b/backend/dist/auth/admin/interface/customAdminReq.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..eca0a6959742a4da7cfc556f2c59855cc2ec03be --- /dev/null +++ b/backend/dist/auth/admin/interface/customAdminReq.d.ts @@ -0,0 +1,5 @@ +import { Request } from 'express'; +import { Admin } from 'src/admin/entities/admin.entity'; +export interface CustomAdminRequest extends Request { + admin?: Admin; +} diff --git a/backend/dist/auth/admin/interface/customAdminReq.js b/backend/dist/auth/admin/interface/customAdminReq.js new file mode 100644 index 0000000000000000000000000000000000000000..3932f21700d1f337a166fffc573bc45caa1e025a --- /dev/null +++ b/backend/dist/auth/admin/interface/customAdminReq.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=customAdminReq.js.map \ No newline at end of file diff --git a/backend/dist/auth/admin/interface/customAdminReq.js.map b/backend/dist/auth/admin/interface/customAdminReq.js.map new file mode 100644 index 0000000000000000000000000000000000000000..16a9571bfb7e9f6fc664c08057fa89de62ce7b72 --- /dev/null +++ b/backend/dist/auth/admin/interface/customAdminReq.js.map @@ -0,0 +1 @@ +{"version":3,"file":"customAdminReq.js","sourceRoot":"","sources":["../../../../src/auth/admin/interface/customAdminReq.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/backend/dist/auth/encryption/encryption.service.d.ts b/backend/dist/auth/encryption/encryption.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..11b4c8e7c0cde1d9ffc75cd3ff7fae4c0cb51b1c --- /dev/null +++ b/backend/dist/auth/encryption/encryption.service.d.ts @@ -0,0 +1,4 @@ +export declare class EncryptionService { + hashPassword(password: string): Promise; + comparePassword(password: string, hashedPassword: string): Promise; +} diff --git a/backend/dist/auth/encryption/encryption.service.js b/backend/dist/auth/encryption/encryption.service.js new file mode 100644 index 0000000000000000000000000000000000000000..3271b7b0e6f27ff7e0b425f4a3f3f192689008bd --- /dev/null +++ b/backend/dist/auth/encryption/encryption.service.js @@ -0,0 +1,26 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.EncryptionService = void 0; +const common_1 = require("@nestjs/common"); +const bcrypt = require("bcrypt"); +let EncryptionService = class EncryptionService { + async hashPassword(password) { + const salt = await bcrypt.genSalt(10); + const hashedPwd = await bcrypt.hash(password, salt); + return hashedPwd; + } + async comparePassword(password, hashedPassword) { + return await bcrypt.compare(password, hashedPassword); + } +}; +exports.EncryptionService = EncryptionService; +exports.EncryptionService = EncryptionService = __decorate([ + (0, common_1.Injectable)() +], EncryptionService); +//# sourceMappingURL=encryption.service.js.map \ No newline at end of file diff --git a/backend/dist/auth/encryption/encryption.service.js.map b/backend/dist/auth/encryption/encryption.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..28d0d3ee736e313c8ab02084c3b20896b2d051e2 --- /dev/null +++ b/backend/dist/auth/encryption/encryption.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"encryption.service.js","sourceRoot":"","sources":["../../../src/auth/encryption/encryption.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4C;AAC5C,iCAAiC;AAE1B,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,MAAM,IAAI,GAAW,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAW,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,cAAsB;QAC5D,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IACxD,CAAC;CACF,CAAA;AAVY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;GACA,iBAAiB,CAU7B"} \ No newline at end of file diff --git a/backend/dist/auth/role.decorator.d.ts b/backend/dist/auth/role.decorator.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..cef6031f90241d64e3e397f06056a2739bfdf306 --- /dev/null +++ b/backend/dist/auth/role.decorator.d.ts @@ -0,0 +1 @@ +export declare const Roles: import("@nestjs/core").ReflectableDecorator; diff --git a/backend/dist/auth/role.decorator.js b/backend/dist/auth/role.decorator.js new file mode 100644 index 0000000000000000000000000000000000000000..75a4df41507e88fc8fce7cbf47e6bf6a9dae32d8 --- /dev/null +++ b/backend/dist/auth/role.decorator.js @@ -0,0 +1,6 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Roles = void 0; +const core_1 = require("@nestjs/core"); +exports.Roles = core_1.Reflector.createDecorator(); +//# sourceMappingURL=role.decorator.js.map \ No newline at end of file diff --git a/backend/dist/auth/role.decorator.js.map b/backend/dist/auth/role.decorator.js.map new file mode 100644 index 0000000000000000000000000000000000000000..77adfc5239266c70a4550ac0197a1dd4d47d99b9 --- /dev/null +++ b/backend/dist/auth/role.decorator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"role.decorator.js","sourceRoot":"","sources":["../../src/auth/role.decorator.ts"],"names":[],"mappings":";;;AAAA,uCAAyC;AAE5B,QAAA,KAAK,GAAG,gBAAS,CAAC,eAAe,EAAY,CAAC"} \ No newline at end of file diff --git a/backend/dist/auth/user/authUser.guard.d.ts b/backend/dist/auth/user/authUser.guard.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..07f35f281c31ad39aa5f31d2b8ae4f857aeab4c6 --- /dev/null +++ b/backend/dist/auth/user/authUser.guard.d.ts @@ -0,0 +1,9 @@ +import { CanActivate, ExecutionContext } from '@nestjs/common'; +import { UserService } from 'src/user/user.service'; +import { AuthUserService } from './authUserservice'; +export declare class AuthUserGuard implements CanActivate { + private authUserService; + private userService; + constructor(authUserService: AuthUserService, userService: UserService); + canActivate(context: ExecutionContext): Promise; +} diff --git a/backend/dist/auth/user/authUser.guard.js b/backend/dist/auth/user/authUser.guard.js new file mode 100644 index 0000000000000000000000000000000000000000..2bbf6d43c5a5ac6834b3386d17bece4ab63320b8 --- /dev/null +++ b/backend/dist/auth/user/authUser.guard.js @@ -0,0 +1,43 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AuthUserGuard = void 0; +const common_1 = require("@nestjs/common"); +const user_service_1 = require("../../user/user.service"); +const authUserservice_1 = require("./authUserservice"); +let AuthUserGuard = class AuthUserGuard { + constructor(authUserService, userService) { + this.authUserService = authUserService; + this.userService = userService; + } + async canActivate(context) { + const request = context.switchToHttp().getRequest(); + let { authorization } = request.headers; + if (!authorization) + throw new common_1.UnauthorizedException('session expired! Please sign In'); + authorization = authorization.split(' ')[1]; + const jwtPayload = await this.authUserService.validateToken(authorization); + if (!jwtPayload) + throw new common_1.UnauthorizedException('session expired! Please sign In'); + const user = await this.userService.findOne(jwtPayload.email); + if (!user) + throw new common_1.UnauthorizedException('session expired! Please sign In'); + request.user = { ...user }; + return true; + } +}; +exports.AuthUserGuard = AuthUserGuard; +exports.AuthUserGuard = AuthUserGuard = __decorate([ + (0, common_1.Injectable)(), + __metadata("design:paramtypes", [authUserservice_1.AuthUserService, + user_service_1.UserService]) +], AuthUserGuard); +//# sourceMappingURL=authUser.guard.js.map \ No newline at end of file diff --git a/backend/dist/auth/user/authUser.guard.js.map b/backend/dist/auth/user/authUser.guard.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4b8ae7c581afc4551bbb949530e4f3d040943a25 --- /dev/null +++ b/backend/dist/auth/user/authUser.guard.js.map @@ -0,0 +1 @@ +{"version":3,"file":"authUser.guard.js","sourceRoot":"","sources":["../../../src/auth/user/authUser.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAkG;AAClG,0DAAoD;AACpD,uDAAoD;AAG7C,IAAM,aAAa,GAAnB,MAAM,aAAa;IACxB,YACU,eAAgC,EAChC,WAAwB;QADxB,oBAAe,GAAf,eAAe,CAAiB;QAChC,gBAAW,GAAX,WAAW,CAAa;IAC/B,CAAC;IACJ,KAAK,CAAC,WAAW,CAAC,OAAyB;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QACpD,IAAI,EAAE,aAAa,EAAE,GAAQ,OAAO,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,8BAAqB,CAAC,iCAAiC,CAAC,CAAC;QACvF,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,8BAAqB,CAAC,iCAAiC,CAAC,CAAC;QAEpF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,8BAAqB,CAAC,iCAAiC,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AAlBY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAGgB,iCAAe;QACnB,0BAAW;GAHvB,aAAa,CAkBzB"} \ No newline at end of file diff --git a/backend/dist/auth/user/authUser.module.d.ts b/backend/dist/auth/user/authUser.module.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..6a7168ee60cea65f32912232a598d85e45d21d03 --- /dev/null +++ b/backend/dist/auth/user/authUser.module.d.ts @@ -0,0 +1,2 @@ +export declare class AuthUserModule { +} diff --git a/backend/dist/auth/user/authUser.module.js b/backend/dist/auth/user/authUser.module.js new file mode 100644 index 0000000000000000000000000000000000000000..082387eeb00af315205b085968404673b820f59b --- /dev/null +++ b/backend/dist/auth/user/authUser.module.js @@ -0,0 +1,33 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AuthUserModule = void 0; +const common_1 = require("@nestjs/common"); +const encryption_service_1 = require("../encryption/encryption.service"); +const typeorm_1 = require("@nestjs/typeorm"); +const jwt_1 = require("@nestjs/jwt"); +const authUsercontroller_1 = require("./authUsercontroller"); +const user_service_1 = require("../../user/user.service"); +const user_entity_1 = require("../../user/entities/user.entity"); +const authUserservice_1 = require("./authUserservice"); +const category_entity_1 = require("../../category/entities/category.entity"); +const category_service_1 = require("../../category/category.service"); +const user_reset_code_entity_1 = require("./entities/user-reset-code.entity"); +const email_service_1 = require("../../email/email.service"); +const user_confirm_code_entity_1 = require("./entities/user-confirm-code.entity"); +let AuthUserModule = class AuthUserModule { +}; +exports.AuthUserModule = AuthUserModule; +exports.AuthUserModule = AuthUserModule = __decorate([ + (0, common_1.Module)({ + controllers: [authUsercontroller_1.AuthUserController], + providers: [user_service_1.UserService, jwt_1.JwtService, encryption_service_1.EncryptionService, authUserservice_1.AuthUserService, category_service_1.CategoryService, email_service_1.EmailService], + imports: [typeorm_1.TypeOrmModule.forFeature([user_entity_1.User, category_entity_1.Category, user_reset_code_entity_1.UserResetCode, user_confirm_code_entity_1.UserConfirmCode])], + }) +], AuthUserModule); +//# sourceMappingURL=authUser.module.js.map \ No newline at end of file diff --git a/backend/dist/auth/user/authUser.module.js.map b/backend/dist/auth/user/authUser.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6674af1a3407e8c413cc1446d458429a2ac3098c --- /dev/null +++ b/backend/dist/auth/user/authUser.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"authUser.module.js","sourceRoot":"","sources":["../../../src/auth/user/authUser.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yEAAqE;AACrE,6CAAgD;AAChD,qCAAyC;AACzC,6DAA0D;AAC1D,0DAAoD;AACpD,iEAAqD;AACrD,uDAAoD;AACpD,6EAAiE;AACjE,sEAAgE;AAChE,8EAAkE;AAClE,6DAAuD;AACvD,kFAAsE;AAO/D,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,wCAAc;yBAAd,cAAc;IAL1B,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,uCAAkB,CAAC;QACjC,SAAS,EAAE,CAAC,0BAAW,EAAE,gBAAU,EAAE,sCAAiB,EAAE,iCAAe,EAAE,kCAAe,EAAE,4BAAY,CAAC;QACvG,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,kBAAI,EAAE,0BAAQ,EAAE,sCAAa,EAAE,0CAAe,CAAC,CAAC,CAAC;KACtF,CAAC;GACW,cAAc,CAAG"} \ No newline at end of file diff --git a/backend/dist/auth/user/authUsercontroller.d.ts b/backend/dist/auth/user/authUsercontroller.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..c50790f995a9597dec9cbdac69ff2cea41ef11c7 --- /dev/null +++ b/backend/dist/auth/user/authUsercontroller.d.ts @@ -0,0 +1,29 @@ +import { AuthUserService } from './authUserservice'; +import { CreateUserDto } from 'src/user/dto/create-user.dto'; +import { LoginUserDto } from './dto/login-user.dto'; +import { UserSigninResDto } from './dto/user-signin-res.dto'; +import { CustomUserRequest } from './interface/customUserReq'; +import { UpdatePwdDto } from './dto/update-pwd.dto'; +import { UserResetPasswordDto } from './dto/user-reset-password.dto'; +import { GetResetCode } from './dto/get-reset-code.dto'; +import { EmailService } from 'src/email/email.service'; +export declare class AuthUserController { + private readonly authUserService; + private readonly mailService; + constructor(authUserService: AuthUserService, mailService: EmailService); + signUp(createAdminDto: CreateUserDto): Promise<{ + user: UserSigninResDto; + }>; + signIn(loginAdminDto: LoginUserDto): Promise<{ + user: UserSigninResDto; + }>; + changePassword(req: CustomUserRequest, updatePwdDto: UpdatePwdDto): Promise; + resetPassword(resetPasswordDto: UserResetPasswordDto): Promise; + getResetCode(resetPasswordInfo: GetResetCode): Promise; + resendConfirmationCode(req: CustomUserRequest): Promise<{ + message: string; + }>; + confirmEmail({ code }: { + code: any; + }, req: CustomUserRequest): Promise; +} diff --git a/backend/dist/auth/user/authUsercontroller.js b/backend/dist/auth/user/authUsercontroller.js new file mode 100644 index 0000000000000000000000000000000000000000..46594e8010de800e58c29c9fe9566bd5fd73c8aa --- /dev/null +++ b/backend/dist/auth/user/authUsercontroller.js @@ -0,0 +1,160 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AuthUserController = void 0; +const common_1 = require("@nestjs/common"); +const swagger_1 = require("@nestjs/swagger"); +const authUserservice_1 = require("./authUserservice"); +const create_user_dto_1 = require("../../user/dto/create-user.dto"); +const login_user_dto_1 = require("./dto/login-user.dto"); +const user_signin_res_dto_1 = require("./dto/user-signin-res.dto"); +const authUser_guard_1 = require("./authUser.guard"); +const update_pwd_dto_1 = require("./dto/update-pwd.dto"); +const user_reset_password_dto_1 = require("./dto/user-reset-password.dto"); +const email_service_1 = require("../../email/email.service"); +let AuthUserController = class AuthUserController { + constructor(authUserService, mailService) { + this.authUserService = authUserService; + this.mailService = mailService; + } + async signUp(createAdminDto) { + try { + const adminSigninResDto = await this.authUserService.signUp(createAdminDto); + return { user: adminSigninResDto }; + } + catch (e) { + throw e; + } + } + async signIn(loginAdminDto) { + try { + const userSigninResDto = await this.authUserService.signIn(loginAdminDto); + return { user: userSigninResDto }; + } + catch (e) { + throw e; + } + } + async changePassword(req, updatePwdDto) { + return this.authUserService.changePassword(req.user.email, updatePwdDto); + } + async resetPassword(resetPasswordDto) { + return this.authUserService.resetPassword(resetPasswordDto); + } + async getResetCode(resetPasswordInfo) { + try { + const code = await this.authUserService.getResetPasswordCode(resetPasswordInfo.email); + await this.mailService.sendResetPasswordEmail(resetPasswordInfo.email, code); + } + catch (e) { + throw e; + } + } + async resendConfirmationCode(req) { + try { + const email = req.user.email; + await this.authUserService.sendConfirmationCode(email); + return { message: 'Confirmation code sent' }; + } + catch (e) { + throw e; + } + } + async confirmEmail({ code }, req) { + try { + const email = req.user.email; + return await this.authUserService.confirmEmail(email, { code }); + } + catch (e) { + throw e; + } + } +}; +exports.AuthUserController = AuthUserController; +__decorate([ + (0, swagger_1.ApiBody)({ type: create_user_dto_1.CreateUserDto }), + (0, swagger_1.ApiCreatedResponse)({ + type: user_signin_res_dto_1.UserSigninResDto, + }), + (0, common_1.Post)('user/signup'), + __param(0, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [create_user_dto_1.CreateUserDto]), + __metadata("design:returntype", Promise) +], AuthUserController.prototype, "signUp", null); +__decorate([ + (0, swagger_1.ApiBody)({ type: login_user_dto_1.LoginUserDto }), + (0, swagger_1.ApiCreatedResponse)({ + type: user_signin_res_dto_1.UserSigninResDto, + }), + (0, swagger_1.ApiUnauthorizedResponse)(), + (0, common_1.Post)('user/signin'), + __param(0, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [login_user_dto_1.LoginUserDto]), + __metadata("design:returntype", Promise) +], AuthUserController.prototype, "signIn", null); +__decorate([ + (0, common_1.UseGuards)(authUser_guard_1.AuthUserGuard), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, common_1.Patch)('user/change-password'), + __param(0, (0, common_1.Req)()), + __param(1, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, update_pwd_dto_1.UpdatePwdDto]), + __metadata("design:returntype", Promise) +], AuthUserController.prototype, "changePassword", null); +__decorate([ + (0, swagger_1.ApiBody)({ type: user_reset_password_dto_1.UserResetPasswordBody }), + (0, common_1.Post)('user/reset-password'), + __param(0, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", Promise) +], AuthUserController.prototype, "resetPassword", null); +__decorate([ + (0, swagger_1.ApiBody)({ type: user_reset_password_dto_1.UserRequestCodeBody }), + (0, common_1.Post)('user/get-reset-code'), + __param(0, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", Promise) +], AuthUserController.prototype, "getResetCode", null); +__decorate([ + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, common_1.UseGuards)(authUser_guard_1.AuthUserGuard), + (0, common_1.Post)('user/resend-confirmation-code'), + __param(0, (0, common_1.Req)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", Promise) +], AuthUserController.prototype, "resendConfirmationCode", null); +__decorate([ + (0, swagger_1.ApiBody)({ type: user_reset_password_dto_1.UserConfirmEmailBody }), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, common_1.UseGuards)(authUser_guard_1.AuthUserGuard), + (0, common_1.Post)('user/confirm-email'), + __param(0, (0, common_1.Body)()), + __param(1, (0, common_1.Req)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, Object]), + __metadata("design:returntype", Promise) +], AuthUserController.prototype, "confirmEmail", null); +exports.AuthUserController = AuthUserController = __decorate([ + (0, common_1.Controller)(''), + (0, swagger_1.ApiTags)('Create user account and sign in as user'), + __metadata("design:paramtypes", [authUserservice_1.AuthUserService, + email_service_1.EmailService]) +], AuthUserController); +//# sourceMappingURL=authUsercontroller.js.map \ No newline at end of file diff --git a/backend/dist/auth/user/authUsercontroller.js.map b/backend/dist/auth/user/authUsercontroller.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1a72de4d4ebc6463a6aff7dcf2d2ad147f61a05f --- /dev/null +++ b/backend/dist/auth/user/authUsercontroller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"authUsercontroller.js","sourceRoot":"","sources":["../../../src/auth/user/authUsercontroller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/auth/user/authUserservice.d.ts b/backend/dist/auth/user/authUserservice.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..3f570771024f9508924834d95faf6420570715b9 --- /dev/null +++ b/backend/dist/auth/user/authUserservice.d.ts @@ -0,0 +1,30 @@ +import { JwtService } from '@nestjs/jwt'; +import { EncryptionService } from '../encryption/encryption.service'; +import { UserSigninResDto } from './dto/user-signin-res.dto'; +import { UserService } from 'src/user/user.service'; +import { CreateUserDto } from 'src/user/dto/create-user.dto'; +import { LoginUserDto } from './dto/login-user.dto'; +import { PayloadJwtDto } from 'src/shared/dto/payload-jwt.dto'; +import { UpdatePwdDto } from './dto/update-pwd.dto'; +import { UserResetCode } from './entities/user-reset-code.entity'; +import { Repository } from 'typeorm'; +import { UserConfirmEmailBody, UserResetPasswordDto } from './dto/user-reset-password.dto'; +import { UserConfirmCode } from './entities/user-confirm-code.entity'; +import { EmailService } from 'src/email/email.service'; +export declare class AuthUserService { + private userResetCodeRepository; + private userConfirmCodeRepository; + private userService; + private jwtService; + private encryptionService; + private readonly mailService; + constructor(userResetCodeRepository: Repository, userConfirmCodeRepository: Repository, userService: UserService, jwtService: JwtService, encryptionService: EncryptionService, mailService: EmailService); + signUp(createAdminDto: CreateUserDto): Promise; + signIn(logInAdmin: LoginUserDto): Promise; + validateToken(token: string): Promise; + changePassword(email: string, updatePwdDto: UpdatePwdDto): Promise; + getResetPasswordCode(email: string): Promise; + resetPassword({ email, resetCode, newPassword }: UserResetPasswordDto): Promise; + sendConfirmationCode(email: string): Promise; + confirmEmail(email: string, { code }: UserConfirmEmailBody): Promise; +} diff --git a/backend/dist/auth/user/authUserservice.js b/backend/dist/auth/user/authUserservice.js new file mode 100644 index 0000000000000000000000000000000000000000..7e7bb2ee1b39ba17c697219fe698f578a315363c --- /dev/null +++ b/backend/dist/auth/user/authUserservice.js @@ -0,0 +1,157 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AuthUserService = void 0; +const common_1 = require("@nestjs/common"); +const jwt_1 = require("@nestjs/jwt"); +const encryption_service_1 = require("../encryption/encryption.service"); +const jwt_constants_1 = require("../../constants/jwt.constants"); +const user_service_1 = require("../../user/user.service"); +const admin_role_enum_1 = require("../../shared/enum/admin-role.enum"); +const typeorm_1 = require("@nestjs/typeorm"); +const user_reset_code_entity_1 = require("./entities/user-reset-code.entity"); +const typeorm_2 = require("typeorm"); +const crypto_1 = require("crypto"); +const user_confirm_code_entity_1 = require("./entities/user-confirm-code.entity"); +const email_service_1 = require("../../email/email.service"); +let AuthUserService = class AuthUserService { + constructor(userResetCodeRepository, userConfirmCodeRepository, userService, jwtService, encryptionService, mailService) { + this.userResetCodeRepository = userResetCodeRepository; + this.userConfirmCodeRepository = userConfirmCodeRepository; + this.userService = userService; + this.jwtService = jwtService; + this.encryptionService = encryptionService; + this.mailService = mailService; + } + async signUp(createAdminDto) { + const loginAdminDto = { + email: createAdminDto.email, + password: createAdminDto.password, + }; + const hashedPwd = await this.encryptionService.hashPassword(createAdminDto.password); + createAdminDto.password = hashedPwd; + if (await this.userService.userExists(createAdminDto.email)) { + throw new common_1.BadRequestException('User already exists'); + } + await this.userService.create(createAdminDto); + const adminSigninResDto = await this.signIn(loginAdminDto); + await this.sendConfirmationCode(createAdminDto.email); + return adminSigninResDto; + } + async signIn(logInAdmin) { + const user = await this.userService.findOne(logInAdmin.email); + if (!user) + throw new common_1.UnauthorizedException('Invalid credentials'); + const validPwd = await this.encryptionService.comparePassword(logInAdmin.password, user.password); + if (!validPwd) { + throw new common_1.UnauthorizedException('Invalid credentials'); + } + const accessToken = await this.jwtService.sign({ email: user.email, name: user.name, lastName: user.lastName, role: admin_role_enum_1.ALL_ROLES.USER }, { secret: jwt_constants_1.JwtConstants.SECRET }); + const userSigninResDto = { + email: user.email, + name: user.name, + lastName: user.lastName, + token: accessToken, + role: admin_role_enum_1.ALL_ROLES.USER, + }; + return userSigninResDto; + } + async validateToken(token) { + try { + const payload = await this.jwtService.verify(token, { secret: jwt_constants_1.JwtConstants.SECRET }); + return payload; + } + catch (error) { + throw new common_1.UnauthorizedException('Invalid token'); + } + } + async changePassword(email, updatePwdDto) { + const user = await this.userService.findOne(email); + const prevPwdHashed = user.password; + const validPwd = await this.encryptionService.comparePassword(updatePwdDto.prevPassword, prevPwdHashed); + if (!validPwd) + throw new common_1.UnauthorizedException('Invalid password'); + const newPwdHashed = await this.encryptionService.hashPassword(updatePwdDto.newPassword); + await this.userService.updatePassword(email, newPwdHashed); + } + async getResetPasswordCode(email) { + console.log(`Email: ${email}`); + const user = await this.userService.findOne(email); + if (!user) + throw new common_1.UnauthorizedException('Invalid email'); + const resetCode = (0, crypto_1.randomInt)(100000, 999999).toString(); + const expirationDate = new Date(); + expirationDate.setHours(expirationDate.getHours() + 1); + const existUserCode = await this.userResetCodeRepository.findBy({ user, code: resetCode }); + console.log(existUserCode); + if (existUserCode.length > 0) { + await this.userResetCodeRepository.delete(existUserCode[0].id); + } + await this.userResetCodeRepository.save({ user, code: resetCode, expirationDate }); + return resetCode; + } + async resetPassword({ email, resetCode, newPassword }) { + const user = await this.userService.findOne(email); + if (!user) + throw new common_1.UnauthorizedException('Invalid email'); + const userResetCode = await this.userResetCodeRepository.findBy({ user, code: resetCode }); + if (userResetCode.length === 0) + throw new common_1.UnauthorizedException('Invalid code'); + if (userResetCode[0].expirationDate < new Date()) + throw new common_1.UnauthorizedException('Code expired'); + const newPwdHashed = await this.encryptionService.hashPassword(newPassword); + await this.userService.updatePassword(email, newPwdHashed); + await this.userResetCodeRepository.delete(userResetCode[0].id); + } + async sendConfirmationCode(email) { + const user = await this.userService.findOne(email); + if (!user) + throw new common_1.UnauthorizedException('Invalid email'); + const resetCode = (0, crypto_1.randomInt)(100000, 999999).toString(); + const expirationDate = new Date(); + expirationDate.setHours(expirationDate.getHours() + 1); + const existUserCode = await this.userConfirmCodeRepository.findBy({ user, code: resetCode }); + if (existUserCode.length > 0) { + await this.userConfirmCodeRepository.delete(existUserCode[0].id); + } + await this.userConfirmCodeRepository.save({ user, code: resetCode, expirationDate }); + await this.mailService.sendConfirmationCode(email, resetCode); + return resetCode; + } + async confirmEmail(email, { code }) { + const user = await this.userService.findOne(email); + if (!user) + throw new common_1.UnauthorizedException('Invalid email'); + const userConfirmCode = await this.userConfirmCodeRepository.findBy({ user, code: code }); + if (userConfirmCode.length === 0) + throw new common_1.UnauthorizedException('Invalid code'); + if (userConfirmCode[0].expirationDate < new Date()) + throw new common_1.UnauthorizedException('Code expired'); + await this.userService.confirmEmail(email); + await this.userConfirmCodeRepository.delete(userConfirmCode[0].id); + } +}; +exports.AuthUserService = AuthUserService; +exports.AuthUserService = AuthUserService = __decorate([ + (0, common_1.Injectable)(), + __param(0, (0, typeorm_1.InjectRepository)(user_reset_code_entity_1.UserResetCode)), + __param(1, (0, typeorm_1.InjectRepository)(user_confirm_code_entity_1.UserConfirmCode)), + __metadata("design:paramtypes", [typeorm_2.Repository, + typeorm_2.Repository, + user_service_1.UserService, + jwt_1.JwtService, + encryption_service_1.EncryptionService, + email_service_1.EmailService]) +], AuthUserService); +//# sourceMappingURL=authUserservice.js.map \ No newline at end of file diff --git a/backend/dist/auth/user/authUserservice.js.map b/backend/dist/auth/user/authUserservice.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d307708fa7b1d637bc46505fb4c3b980d842c0d6 --- /dev/null +++ b/backend/dist/auth/user/authUserservice.js.map @@ -0,0 +1 @@ +{"version":3,"file":"authUserservice.js","sourceRoot":"","sources":["../../../src/auth/user/authUserservice.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/auth/user/dto/get-reset-code.dto.d.ts b/backend/dist/auth/user/dto/get-reset-code.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..2d24084d66b64b69e9f9028b587aa835af8df2fe --- /dev/null +++ b/backend/dist/auth/user/dto/get-reset-code.dto.d.ts @@ -0,0 +1,3 @@ +export interface GetResetCode { + email: string; +} diff --git a/backend/dist/auth/user/dto/get-reset-code.dto.js b/backend/dist/auth/user/dto/get-reset-code.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..79d2a749af200b3ff4b8d0bb12adcb044d09eef6 --- /dev/null +++ b/backend/dist/auth/user/dto/get-reset-code.dto.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=get-reset-code.dto.js.map \ No newline at end of file diff --git a/backend/dist/auth/user/dto/get-reset-code.dto.js.map b/backend/dist/auth/user/dto/get-reset-code.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..d01b63ac28b2007186df9440228cb0a557c1ce16 --- /dev/null +++ b/backend/dist/auth/user/dto/get-reset-code.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"get-reset-code.dto.js","sourceRoot":"","sources":["../../../../src/auth/user/dto/get-reset-code.dto.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/backend/dist/auth/user/dto/login-user.dto.d.ts b/backend/dist/auth/user/dto/login-user.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..6138bc0adde38e0c4b14522eae08546a0c3ab7ed --- /dev/null +++ b/backend/dist/auth/user/dto/login-user.dto.d.ts @@ -0,0 +1,4 @@ +export declare class LoginUserDto { + email: string; + password: string; +} diff --git a/backend/dist/auth/user/dto/login-user.dto.js b/backend/dist/auth/user/dto/login-user.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..8a746646b04c67808d15e25aae3ccccc968605e7 --- /dev/null +++ b/backend/dist/auth/user/dto/login-user.dto.js @@ -0,0 +1,25 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.LoginUserDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +class LoginUserDto { +} +exports.LoginUserDto = LoginUserDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], LoginUserDto.prototype, "email", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], LoginUserDto.prototype, "password", void 0); +//# sourceMappingURL=login-user.dto.js.map \ No newline at end of file diff --git a/backend/dist/auth/user/dto/login-user.dto.js.map b/backend/dist/auth/user/dto/login-user.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..54fbe68f93ca42d3a6bf4104e035a7abefcc3aed --- /dev/null +++ b/backend/dist/auth/user/dto/login-user.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"login-user.dto.js","sourceRoot":"","sources":["../../../../src/auth/user/dto/login-user.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,YAAY;CAKxB;AALD,oCAKC;AAHC;IADC,IAAA,qBAAW,GAAE;;2CACA;AAEd;IADC,IAAA,qBAAW,GAAE;;8CACG"} \ No newline at end of file diff --git a/backend/dist/auth/user/dto/update-pwd.dto.d.ts b/backend/dist/auth/user/dto/update-pwd.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..232ef4ab646959820edccdff962ee5b46eeddb61 --- /dev/null +++ b/backend/dist/auth/user/dto/update-pwd.dto.d.ts @@ -0,0 +1,4 @@ +export declare class UpdatePwdDto { + prevPassword: string; + newPassword: string; +} diff --git a/backend/dist/auth/user/dto/update-pwd.dto.js b/backend/dist/auth/user/dto/update-pwd.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..bddd0bd269944545fa383530572d1ec3cfb73475 --- /dev/null +++ b/backend/dist/auth/user/dto/update-pwd.dto.js @@ -0,0 +1,25 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UpdatePwdDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +class UpdatePwdDto { +} +exports.UpdatePwdDto = UpdatePwdDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UpdatePwdDto.prototype, "prevPassword", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UpdatePwdDto.prototype, "newPassword", void 0); +//# sourceMappingURL=update-pwd.dto.js.map \ No newline at end of file diff --git a/backend/dist/auth/user/dto/update-pwd.dto.js.map b/backend/dist/auth/user/dto/update-pwd.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..332ca291165050dd562ad6c7b22b5b49d81d7801 --- /dev/null +++ b/backend/dist/auth/user/dto/update-pwd.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"update-pwd.dto.js","sourceRoot":"","sources":["../../../../src/auth/user/dto/update-pwd.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,YAAY;CAKxB;AALD,oCAKC;AAHC;IADC,IAAA,qBAAW,GAAE;;kDACO;AAErB;IADC,IAAA,qBAAW,GAAE;;iDACM"} \ No newline at end of file diff --git a/backend/dist/auth/user/dto/user-reset-password.dto.d.ts b/backend/dist/auth/user/dto/user-reset-password.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..796b28011a53fd2770efa93af011f206323a97c9 --- /dev/null +++ b/backend/dist/auth/user/dto/user-reset-password.dto.d.ts @@ -0,0 +1,16 @@ +export interface UserResetPasswordDto { + email: string; + resetCode: string; + newPassword: string; +} +export declare class UserResetPasswordBody { + email: string; + resetCode: string; + newPassword: string; +} +export declare class UserRequestCodeBody { + email: string; +} +export declare class UserConfirmEmailBody { + code: string; +} diff --git a/backend/dist/auth/user/dto/user-reset-password.dto.js b/backend/dist/auth/user/dto/user-reset-password.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..240bfcb5d432a9b7bfad805145c91044fd70e811 --- /dev/null +++ b/backend/dist/auth/user/dto/user-reset-password.dto.js @@ -0,0 +1,43 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UserConfirmEmailBody = exports.UserRequestCodeBody = exports.UserResetPasswordBody = void 0; +const swagger_1 = require("@nestjs/swagger"); +class UserResetPasswordBody { +} +exports.UserResetPasswordBody = UserResetPasswordBody; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UserResetPasswordBody.prototype, "email", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UserResetPasswordBody.prototype, "resetCode", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UserResetPasswordBody.prototype, "newPassword", void 0); +class UserRequestCodeBody { +} +exports.UserRequestCodeBody = UserRequestCodeBody; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UserRequestCodeBody.prototype, "email", void 0); +class UserConfirmEmailBody { +} +exports.UserConfirmEmailBody = UserConfirmEmailBody; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UserConfirmEmailBody.prototype, "code", void 0); +//# sourceMappingURL=user-reset-password.dto.js.map \ No newline at end of file diff --git a/backend/dist/auth/user/dto/user-reset-password.dto.js.map b/backend/dist/auth/user/dto/user-reset-password.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6e5e6715cb99171f8cf0d85bd109aabac9247ee0 --- /dev/null +++ b/backend/dist/auth/user/dto/user-reset-password.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"user-reset-password.dto.js","sourceRoot":"","sources":["../../../../src/auth/user/dto/user-reset-password.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAQ9C,MAAa,qBAAqB;CAOjC;AAPD,sDAOC;AALC;IADC,IAAA,qBAAW,GAAE;;oDACA;AAEd;IADC,IAAA,qBAAW,GAAE;;wDACI;AAElB;IADC,IAAA,qBAAW,GAAE;;0DACM;AAGtB,MAAa,mBAAmB;CAG/B;AAHD,kDAGC;AADC;IADC,IAAA,qBAAW,GAAE;;kDACA;AAGhB,MAAa,oBAAoB;CAGhC;AAHD,oDAGC;AADC;IADC,IAAA,qBAAW,GAAE;;kDACD"} \ No newline at end of file diff --git a/backend/dist/auth/user/dto/user-signin-res.dto.d.ts b/backend/dist/auth/user/dto/user-signin-res.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..79e69502b07a449610d4ada56f4bd37cf20f9929 --- /dev/null +++ b/backend/dist/auth/user/dto/user-signin-res.dto.d.ts @@ -0,0 +1,8 @@ +import { ALL_ROLES } from 'src/shared/enum/admin-role.enum'; +export declare class UserSigninResDto { + email: string; + name: string; + lastName: string; + token: string; + role: ALL_ROLES.USER; +} diff --git a/backend/dist/auth/user/dto/user-signin-res.dto.js b/backend/dist/auth/user/dto/user-signin-res.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..f9705a7f292eccc3cb6ef34c1aef427aca22a883 --- /dev/null +++ b/backend/dist/auth/user/dto/user-signin-res.dto.js @@ -0,0 +1,38 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UserSigninResDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +const admin_role_enum_1 = require("../../../shared/enum/admin-role.enum"); +class UserSigninResDto { +} +exports.UserSigninResDto = UserSigninResDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UserSigninResDto.prototype, "email", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UserSigninResDto.prototype, "name", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UserSigninResDto.prototype, "lastName", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UserSigninResDto.prototype, "token", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UserSigninResDto.prototype, "role", void 0); +//# sourceMappingURL=user-signin-res.dto.js.map \ No newline at end of file diff --git a/backend/dist/auth/user/dto/user-signin-res.dto.js.map b/backend/dist/auth/user/dto/user-signin-res.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..396cb835299470de23d27f69051182faa2651d00 --- /dev/null +++ b/backend/dist/auth/user/dto/user-signin-res.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"user-signin-res.dto.js","sourceRoot":"","sources":["../../../../src/auth/user/dto/user-signin-res.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,0EAA4D;AAE5D,MAAa,gBAAgB;CAW5B;AAXD,4CAWC;AATC;IADC,IAAA,qBAAW,GAAE;;+CACA;AAEd;IADC,IAAA,qBAAW,GAAE;;8CACD;AAEb;IADC,IAAA,qBAAW,GAAE;;kDACG;AAEjB;IADC,IAAA,qBAAW,GAAE;;+CACA;AAEd;IADC,IAAA,qBAAW,GAAE;;8CACO"} \ No newline at end of file diff --git a/backend/dist/auth/user/entities/user-confirm-code.entity.d.ts b/backend/dist/auth/user/entities/user-confirm-code.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..551716c4a7618ec079c79ce0c8f8a3ad2be3b5f6 --- /dev/null +++ b/backend/dist/auth/user/entities/user-confirm-code.entity.d.ts @@ -0,0 +1,7 @@ +import { User } from 'src/user/entities/user.entity'; +export declare class UserConfirmCode { + id: number; + user: User; + code: string; + expirationDate: Date; +} diff --git a/backend/dist/auth/user/entities/user-confirm-code.entity.js b/backend/dist/auth/user/entities/user-confirm-code.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..3b669ed34cb64b47aa3c5b8a2849780a670a7406 --- /dev/null +++ b/backend/dist/auth/user/entities/user-confirm-code.entity.js @@ -0,0 +1,37 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UserConfirmCode = void 0; +const user_entity_1 = require("../../../user/entities/user.entity"); +const typeorm_1 = require("typeorm"); +let UserConfirmCode = class UserConfirmCode { +}; +exports.UserConfirmCode = UserConfirmCode; +__decorate([ + (0, typeorm_1.PrimaryGeneratedColumn)(), + __metadata("design:type", Number) +], UserConfirmCode.prototype, "id", void 0); +__decorate([ + (0, typeorm_1.ManyToOne)(() => user_entity_1.User, (user) => user.resetCodes), + __metadata("design:type", user_entity_1.User) +], UserConfirmCode.prototype, "user", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], UserConfirmCode.prototype, "code", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", Date) +], UserConfirmCode.prototype, "expirationDate", void 0); +exports.UserConfirmCode = UserConfirmCode = __decorate([ + (0, typeorm_1.Entity)() +], UserConfirmCode); +//# sourceMappingURL=user-confirm-code.entity.js.map \ No newline at end of file diff --git a/backend/dist/auth/user/entities/user-confirm-code.entity.js.map b/backend/dist/auth/user/entities/user-confirm-code.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b86606e58509cd73abbbd34f36aff62563477484 --- /dev/null +++ b/backend/dist/auth/user/entities/user-confirm-code.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"user-confirm-code.entity.js","sourceRoot":"","sources":["../../../../src/auth/user/entities/user-confirm-code.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oEAAqD;AACrD,qCAA4E;AAGrE,IAAM,eAAe,GAArB,MAAM,eAAe;CAY3B,CAAA;AAZY,0CAAe;AAE1B;IADC,IAAA,gCAAsB,GAAE;;2CACd;AAGX;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;8BAC3C,kBAAI;6CAAC;AAGX;IADC,IAAA,gBAAM,GAAE;;6CACI;AAGb;IADC,IAAA,gBAAM,GAAE;8BACO,IAAI;uDAAC;0BAXV,eAAe;IAD3B,IAAA,gBAAM,GAAE;GACI,eAAe,CAY3B"} \ No newline at end of file diff --git a/backend/dist/auth/user/entities/user-reset-code.entity.d.ts b/backend/dist/auth/user/entities/user-reset-code.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..8097b35970fd3f1e3363f4e13ee6eb475cdd55cd --- /dev/null +++ b/backend/dist/auth/user/entities/user-reset-code.entity.d.ts @@ -0,0 +1,7 @@ +import { User } from 'src/user/entities/user.entity'; +export declare class UserResetCode { + id: number; + user: User; + code: string; + expirationDate: Date; +} diff --git a/backend/dist/auth/user/entities/user-reset-code.entity.js b/backend/dist/auth/user/entities/user-reset-code.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..05ade924539eea2bf5a6969ea790d535c86b3c90 --- /dev/null +++ b/backend/dist/auth/user/entities/user-reset-code.entity.js @@ -0,0 +1,37 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UserResetCode = void 0; +const user_entity_1 = require("../../../user/entities/user.entity"); +const typeorm_1 = require("typeorm"); +let UserResetCode = class UserResetCode { +}; +exports.UserResetCode = UserResetCode; +__decorate([ + (0, typeorm_1.PrimaryGeneratedColumn)(), + __metadata("design:type", Number) +], UserResetCode.prototype, "id", void 0); +__decorate([ + (0, typeorm_1.ManyToOne)(() => user_entity_1.User, (user) => user.resetCodes), + __metadata("design:type", user_entity_1.User) +], UserResetCode.prototype, "user", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], UserResetCode.prototype, "code", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", Date) +], UserResetCode.prototype, "expirationDate", void 0); +exports.UserResetCode = UserResetCode = __decorate([ + (0, typeorm_1.Entity)() +], UserResetCode); +//# sourceMappingURL=user-reset-code.entity.js.map \ No newline at end of file diff --git a/backend/dist/auth/user/entities/user-reset-code.entity.js.map b/backend/dist/auth/user/entities/user-reset-code.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7d09d806ec4d80bd98b7403770707e3f4457dd74 --- /dev/null +++ b/backend/dist/auth/user/entities/user-reset-code.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"user-reset-code.entity.js","sourceRoot":"","sources":["../../../../src/auth/user/entities/user-reset-code.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oEAAqD;AACrD,qCAA4E;AAGrE,IAAM,aAAa,GAAnB,MAAM,aAAa;CAYzB,CAAA;AAZY,sCAAa;AAExB;IADC,IAAA,gCAAsB,GAAE;;yCACd;AAGX;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;8BAC3C,kBAAI;2CAAC;AAGX;IADC,IAAA,gBAAM,GAAE;;2CACI;AAGb;IADC,IAAA,gBAAM,GAAE;8BACO,IAAI;qDAAC;wBAXV,aAAa;IADzB,IAAA,gBAAM,GAAE;GACI,aAAa,CAYzB"} \ No newline at end of file diff --git a/backend/dist/auth/user/interface/customUserReq.d.ts b/backend/dist/auth/user/interface/customUserReq.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..013651e46245c2c910d682a025289092f84bf7c2 --- /dev/null +++ b/backend/dist/auth/user/interface/customUserReq.d.ts @@ -0,0 +1,5 @@ +import { Request } from 'express'; +import { User } from 'src/user/entities/user.entity'; +export interface CustomUserRequest extends Request { + user?: User; +} diff --git a/backend/dist/auth/user/interface/customUserReq.js b/backend/dist/auth/user/interface/customUserReq.js new file mode 100644 index 0000000000000000000000000000000000000000..8cc2c8bcf3e07cea93bb23e6b9e84803d6d98058 --- /dev/null +++ b/backend/dist/auth/user/interface/customUserReq.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=customUserReq.js.map \ No newline at end of file diff --git a/backend/dist/auth/user/interface/customUserReq.js.map b/backend/dist/auth/user/interface/customUserReq.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9639a28523768edcb82e0ade96d2499a5e42bbea --- /dev/null +++ b/backend/dist/auth/user/interface/customUserReq.js.map @@ -0,0 +1 @@ +{"version":3,"file":"customUserReq.js","sourceRoot":"","sources":["../../../../src/auth/user/interface/customUserReq.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/backend/dist/category/category.controller.d.ts b/backend/dist/category/category.controller.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..bf3242bc2d23a79e3c3891adf215c6ab6fb0e3cc --- /dev/null +++ b/backend/dist/category/category.controller.d.ts @@ -0,0 +1,14 @@ +import { CategoryService } from './category.service'; +import { CreateCategoryReqDto } from './dto/create-category-req.dto'; +import { LANGUAGES } from 'src/shared/enum/languages.enum'; +export declare class CategoryController { + private readonly categoryService; + constructor(categoryService: CategoryService); + create(createCategoryDto: CreateCategoryReqDto): { + message: string; + }; + findAll(lang: LANGUAGES): Promise; + remove(id: string): { + message: string; + }; +} diff --git a/backend/dist/category/category.controller.js b/backend/dist/category/category.controller.js new file mode 100644 index 0000000000000000000000000000000000000000..72c248cdb304de772bd65ad227aa3ff68a8e2bf6 --- /dev/null +++ b/backend/dist/category/category.controller.js @@ -0,0 +1,74 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CategoryController = void 0; +const common_1 = require("@nestjs/common"); +const category_service_1 = require("./category.service"); +const authAdmin_guard_1 = require("../auth/admin/authAdmin.guard"); +const role_decorator_1 = require("../auth/role.decorator"); +const admin_role_enum_1 = require("../shared/enum/admin-role.enum"); +const swagger_1 = require("@nestjs/swagger"); +const create_category_req_dto_1 = require("./dto/create-category-req.dto"); +const languages_enum_1 = require("../shared/enum/languages.enum"); +let CategoryController = class CategoryController { + constructor(categoryService) { + this.categoryService = categoryService; + } + create(createCategoryDto) { + this.categoryService.create(createCategoryDto); + return { message: 'Category created successfully' }; + } + findAll(lang) { + return this.categoryService.findAll(lang); + } + remove(id) { + this.categoryService.remove(+id); + return { message: 'Category deleted successfully' }; + } +}; +exports.CategoryController = CategoryController; +__decorate([ + (0, common_1.UseGuards)(authAdmin_guard_1.AuthAdminGuard), + (0, role_decorator_1.Roles)(admin_role_enum_1.SUPERADMIN_ROLES), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, swagger_1.ApiBody)({ type: create_category_req_dto_1.CreateCategoryReqDto }), + (0, common_1.Post)(), + __param(0, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [create_category_req_dto_1.CreateCategoryReqDto]), + __metadata("design:returntype", void 0) +], CategoryController.prototype, "create", null); +__decorate([ + (0, common_1.Get)(''), + __param(0, (0, common_1.Query)('lang')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [String]), + __metadata("design:returntype", void 0) +], CategoryController.prototype, "findAll", null); +__decorate([ + (0, common_1.UseGuards)(authAdmin_guard_1.AuthAdminGuard), + (0, role_decorator_1.Roles)(admin_role_enum_1.SUPERADMIN_ROLES), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, common_1.Delete)(':id'), + __param(0, (0, common_1.Param)('id')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [String]), + __metadata("design:returntype", void 0) +], CategoryController.prototype, "remove", null); +exports.CategoryController = CategoryController = __decorate([ + (0, common_1.Controller)('category'), + (0, swagger_1.ApiTags)('Category'), + __metadata("design:paramtypes", [category_service_1.CategoryService]) +], CategoryController); +//# sourceMappingURL=category.controller.js.map \ No newline at end of file diff --git a/backend/dist/category/category.controller.js.map b/backend/dist/category/category.controller.js.map new file mode 100644 index 0000000000000000000000000000000000000000..45bb8969a0e77a5a9d05142b2f6977731289eaeb --- /dev/null +++ b/backend/dist/category/category.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"category.controller.js","sourceRoot":"","sources":["../../src/category/category.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA8F;AAC9F,yDAAqD;AACrD,mEAAgE;AAChE,2DAAgD;AAChD,oEAAmE;AACnE,6CAAkE;AAClE,2EAAqE;AACrE,kEAA2D;AAIpD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YAA6B,eAAgC;QAAhC,oBAAe,GAAf,eAAe,CAAiB;IAAG,CAAC;IAOjE,MAAM,CAAS,iBAAuC;QACpD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC/C,OAAO,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;IACtD,CAAC;IAGD,OAAO,CAAgB,IAAe;QACpC,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAMD,MAAM,CAAc,EAAU;QAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;QACjC,OAAO,EAAE,OAAO,EAAE,+BAA+B,EAAE,CAAC;IACtD,CAAC;CACF,CAAA;AA1BY,gDAAkB;AAQ7B;IALC,IAAA,kBAAS,EAAC,gCAAc,CAAC;IACzB,IAAA,sBAAK,EAAC,kCAAgB,CAAC;IACvB,IAAA,uBAAa,EAAC,KAAK,CAAC;IACpB,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,8CAAoB,EAAE,CAAC;IACvC,IAAA,aAAI,GAAE;IACC,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAoB,8CAAoB;;gDAGrD;AAGD;IADC,IAAA,YAAG,EAAC,EAAE,CAAC;IACC,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;;;;iDAErB;AAMD;IAJC,IAAA,kBAAS,EAAC,gCAAc,CAAC;IACzB,IAAA,sBAAK,EAAC,kCAAgB,CAAC;IACvB,IAAA,uBAAa,EAAC,KAAK,CAAC;IACpB,IAAA,eAAM,EAAC,KAAK,CAAC;IACN,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;;;gDAGlB;6BAzBU,kBAAkB;IAF9B,IAAA,mBAAU,EAAC,UAAU,CAAC;IACtB,IAAA,iBAAO,EAAC,UAAU,CAAC;qCAE4B,kCAAe;GADlD,kBAAkB,CA0B9B"} \ No newline at end of file diff --git a/backend/dist/category/category.module.d.ts b/backend/dist/category/category.module.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..c6f6bce1c027dd4ee32f010e1c6d8efc9295b3d5 --- /dev/null +++ b/backend/dist/category/category.module.d.ts @@ -0,0 +1,2 @@ +export declare class CategoryModule { +} diff --git a/backend/dist/category/category.module.js b/backend/dist/category/category.module.js new file mode 100644 index 0000000000000000000000000000000000000000..e1c6d18647856b0a38fbbee5d4bec60c50d9e625 --- /dev/null +++ b/backend/dist/category/category.module.js @@ -0,0 +1,33 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CategoryModule = void 0; +const common_1 = require("@nestjs/common"); +const category_service_1 = require("./category.service"); +const category_controller_1 = require("./category.controller"); +const typeorm_1 = require("@nestjs/typeorm"); +const category_entity_1 = require("./entities/category.entity"); +const authAdmin_service_1 = require("../auth/admin/authAdmin.service"); +const jwt_1 = require("@nestjs/jwt"); +const encryption_service_1 = require("../auth/encryption/encryption.service"); +const admin_service_1 = require("../admin/admin.service"); +const admin_entity_1 = require("../admin/entities/admin.entity"); +const town_entity_1 = require("../town/entities/town.entity"); +const admin_reset_code_entity_1 = require("../auth/admin/entitites/admin-reset-code.entity"); +let CategoryModule = class CategoryModule { +}; +exports.CategoryModule = CategoryModule; +exports.CategoryModule = CategoryModule = __decorate([ + (0, common_1.Module)({ + controllers: [category_controller_1.CategoryController], + providers: [category_service_1.CategoryService, authAdmin_service_1.AuthAdminService, jwt_1.JwtService, encryption_service_1.EncryptionService, admin_service_1.AdminService], + imports: [typeorm_1.TypeOrmModule.forFeature([category_entity_1.Category, admin_entity_1.Admin, town_entity_1.Town, admin_reset_code_entity_1.AdminResetCode])], + exports: [category_service_1.CategoryService], + }) +], CategoryModule); +//# sourceMappingURL=category.module.js.map \ No newline at end of file diff --git a/backend/dist/category/category.module.js.map b/backend/dist/category/category.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e000e931ac81aaf5d1fba10c4ad460e6a7fbb621 --- /dev/null +++ b/backend/dist/category/category.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"category.module.js","sourceRoot":"","sources":["../../src/category/category.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,yDAAqD;AACrD,+DAA2D;AAC3D,6CAAgD;AAChD,gEAAsD;AACtD,uEAAoE;AACpE,qCAAyC;AACzC,8EAA2E;AAC3E,0DAAuD;AACvD,iEAAwD;AACxD,8DAAqD;AACrD,6FAAkF;AAQ3E,IAAM,cAAc,GAApB,MAAM,cAAc;CAAG,CAAA;AAAjB,wCAAc;yBAAd,cAAc;IAN1B,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,wCAAkB,CAAC;QACjC,SAAS,EAAE,CAAC,kCAAe,EAAE,oCAAgB,EAAE,gBAAU,EAAE,sCAAiB,EAAE,4BAAY,CAAC;QAC3F,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,0BAAQ,EAAE,oBAAK,EAAE,kBAAI,EAAE,wCAAc,CAAC,CAAC,CAAC;QAC5E,OAAO,EAAE,CAAC,kCAAe,CAAC;KAC3B,CAAC;GACW,cAAc,CAAG"} \ No newline at end of file diff --git a/backend/dist/category/category.service.d.ts b/backend/dist/category/category.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..4569a201b2fa9ceb76ef2407a7b7960196c0bc2d --- /dev/null +++ b/backend/dist/category/category.service.d.ts @@ -0,0 +1,10 @@ +import { Category } from './entities/category.entity'; +import { CreateCategoryReqDto } from './dto/create-category-req.dto'; +export declare class CategoryService { + private categoryRepository; + constructor(categoryRepository: any); + create(createCategoryDto: CreateCategoryReqDto): Promise; + findAll(lang: string): Promise; + remove(idCategory: number): Promise; + findOne(idCategory: number): Promise; +} diff --git a/backend/dist/category/category.service.js b/backend/dist/category/category.service.js new file mode 100644 index 0000000000000000000000000000000000000000..563a22440c34b4c62030e8703e223d4d71570a03 --- /dev/null +++ b/backend/dist/category/category.service.js @@ -0,0 +1,52 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CategoryService = void 0; +const common_1 = require("@nestjs/common"); +const typeorm_1 = require("@nestjs/typeorm"); +const category_entity_1 = require("./entities/category.entity"); +const languages_enum_1 = require("../shared/enum/languages.enum"); +let CategoryService = class CategoryService { + constructor(categoryRepository) { + this.categoryRepository = categoryRepository; + } + async create(createCategoryDto) { + const categoriyEN = { + name: createCategoryDto.nameEN, + language: languages_enum_1.LANGUAGES.EN, + }; + const insertedId = (await this.categoryRepository.insert(categoriyEN)).raw.insertId; + await this.categoryRepository.insert({ + idCategory: insertedId, + name: createCategoryDto.nameES, + language: languages_enum_1.LANGUAGES.ES, + }); + } + async findAll(lang) { + return await this.categoryRepository.find({ where: { language: lang }, select: ['idCategory', 'name'] }); + } + async remove(idCategory) { + await this.categoryRepository.delete({ idCategory }); + } + async findOne(idCategory) { + return await this.categoryRepository.findOne({ where: { idCategory } }); + } +}; +exports.CategoryService = CategoryService; +exports.CategoryService = CategoryService = __decorate([ + (0, common_1.Injectable)(), + __param(0, (0, typeorm_1.InjectRepository)(category_entity_1.Category)), + __metadata("design:paramtypes", [Object]) +], CategoryService); +//# sourceMappingURL=category.service.js.map \ No newline at end of file diff --git a/backend/dist/category/category.service.js.map b/backend/dist/category/category.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a3ba22f13e70d6518e041d1f382f3570d53a4f9c --- /dev/null +++ b/backend/dist/category/category.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"category.service.js","sourceRoot":"","sources":["../../src/category/category.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,6CAAmD;AACnD,gEAAsD;AACtD,kEAA2D;AAIpD,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAAgD,kBAAkB;QAAlB,uBAAkB,GAAlB,kBAAkB,CAAA;IAAG,CAAC;IAEtE,KAAK,CAAC,MAAM,CAAC,iBAAuC;QAClD,MAAM,WAAW,GAAsB;YACrC,IAAI,EAAE,iBAAiB,CAAC,MAAM;YAC9B,QAAQ,EAAE,0BAAS,CAAC,EAAE;SACvB,CAAC;QAEF,MAAM,UAAU,GAAW,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QAE5F,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;YACnC,UAAU,EAAE,UAAU;YACtB,IAAI,EAAE,iBAAiB,CAAC,MAAM;YAC9B,QAAQ,EAAE,0BAAS,CAAC,EAAE;SACvB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3G,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,UAAkB;QAC7B,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAAkB;QAC9B,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAC1E,CAAC;CACF,CAAA;AA7BY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAEE,WAAA,IAAA,0BAAgB,EAAC,0BAAQ,CAAC,CAAA;;GAD5B,eAAe,CA6B3B"} \ No newline at end of file diff --git a/backend/dist/category/dto/create-category-req.dto.d.ts b/backend/dist/category/dto/create-category-req.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..224647d8a32040fdcbce9e175802ed6be16d5d14 --- /dev/null +++ b/backend/dist/category/dto/create-category-req.dto.d.ts @@ -0,0 +1,4 @@ +export declare class CreateCategoryReqDto { + nameES: string; + nameEN: string; +} diff --git a/backend/dist/category/dto/create-category-req.dto.js b/backend/dist/category/dto/create-category-req.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..a03c2b2cce9a7dd763b1f6d7e9d7ba49d90b21b6 --- /dev/null +++ b/backend/dist/category/dto/create-category-req.dto.js @@ -0,0 +1,25 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreateCategoryReqDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +class CreateCategoryReqDto { +} +exports.CreateCategoryReqDto = CreateCategoryReqDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreateCategoryReqDto.prototype, "nameES", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreateCategoryReqDto.prototype, "nameEN", void 0); +//# sourceMappingURL=create-category-req.dto.js.map \ No newline at end of file diff --git a/backend/dist/category/dto/create-category-req.dto.js.map b/backend/dist/category/dto/create-category-req.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f34de94f1a56e39b5619d0c7370a4de6c04c217e --- /dev/null +++ b/backend/dist/category/dto/create-category-req.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-category-req.dto.js","sourceRoot":"","sources":["../../../src/category/dto/create-category-req.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,oBAAoB;CAKhC;AALD,oDAKC;AAHC;IADC,IAAA,qBAAW,GAAE;;oDACC;AAEf;IADC,IAAA,qBAAW,GAAE;;oDACC"} \ No newline at end of file diff --git a/backend/dist/category/dto/create-category.dto.d.ts b/backend/dist/category/dto/create-category.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..7eea1a314beaeb526d6aba9bda4a7eb22ebb1925 --- /dev/null +++ b/backend/dist/category/dto/create-category.dto.d.ts @@ -0,0 +1,6 @@ +import { LANGUAGES } from 'src/shared/enum/languages.enum'; +export declare class CreateCategoryDto { + idCategory?: number; + language: LANGUAGES; + name: string; +} diff --git a/backend/dist/category/dto/create-category.dto.js b/backend/dist/category/dto/create-category.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..89c382aa2230a56de2be986e83b4592691c114fd --- /dev/null +++ b/backend/dist/category/dto/create-category.dto.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreateCategoryDto = void 0; +class CreateCategoryDto { +} +exports.CreateCategoryDto = CreateCategoryDto; +//# sourceMappingURL=create-category.dto.js.map \ No newline at end of file diff --git a/backend/dist/category/dto/create-category.dto.js.map b/backend/dist/category/dto/create-category.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..728f6a7105edf8a69202d6d8b3ef459d2425e02d --- /dev/null +++ b/backend/dist/category/dto/create-category.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-category.dto.js","sourceRoot":"","sources":["../../../src/category/dto/create-category.dto.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAiB;CAI7B;AAJD,8CAIC"} \ No newline at end of file diff --git a/backend/dist/category/dto/update-category.dto.d.ts b/backend/dist/category/dto/update-category.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..12f1b18de7c356d5a0b8f1cdcf56335ee31751ef --- /dev/null +++ b/backend/dist/category/dto/update-category.dto.d.ts @@ -0,0 +1,5 @@ +import { CreateCategoryDto } from './create-category.dto'; +declare const UpdateCategoryDto_base: import("@nestjs/common").Type>; +export declare class UpdateCategoryDto extends UpdateCategoryDto_base { +} +export {}; diff --git a/backend/dist/category/dto/update-category.dto.js b/backend/dist/category/dto/update-category.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..de6e7775e664ef69316943648ffbc50f3aaa381c --- /dev/null +++ b/backend/dist/category/dto/update-category.dto.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UpdateCategoryDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +const create_category_dto_1 = require("./create-category.dto"); +class UpdateCategoryDto extends (0, swagger_1.PartialType)(create_category_dto_1.CreateCategoryDto) { +} +exports.UpdateCategoryDto = UpdateCategoryDto; +//# sourceMappingURL=update-category.dto.js.map \ No newline at end of file diff --git a/backend/dist/category/dto/update-category.dto.js.map b/backend/dist/category/dto/update-category.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..eca508206a6a0a324ce6fd386f3983ee8e798b09 --- /dev/null +++ b/backend/dist/category/dto/update-category.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"update-category.dto.js","sourceRoot":"","sources":["../../../src/category/dto/update-category.dto.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,+DAA0D;AAE1D,MAAa,iBAAkB,SAAQ,IAAA,qBAAW,EAAC,uCAAiB,CAAC;CAAG;AAAxE,8CAAwE"} \ No newline at end of file diff --git a/backend/dist/category/entities/category.entity.d.ts b/backend/dist/category/entities/category.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..29a94e5a523794b4e8bb71a14fb6460387770ca2 --- /dev/null +++ b/backend/dist/category/entities/category.entity.d.ts @@ -0,0 +1,5 @@ +export declare class Category { + idCategory: number; + language: string; + name: string; +} diff --git a/backend/dist/category/entities/category.entity.js b/backend/dist/category/entities/category.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..6d846b0873dcedea4b26d0e0b6f11a3ab13b9b21 --- /dev/null +++ b/backend/dist/category/entities/category.entity.js @@ -0,0 +1,32 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Category = void 0; +const typeorm_1 = require("typeorm"); +let Category = class Category { +}; +exports.Category = Category; +__decorate([ + (0, typeorm_1.PrimaryGeneratedColumn)(), + __metadata("design:type", Number) +], Category.prototype, "idCategory", void 0); +__decorate([ + (0, typeorm_1.PrimaryColumn)({ nullable: false, primary: true }), + __metadata("design:type", String) +], Category.prototype, "language", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: false }), + __metadata("design:type", String) +], Category.prototype, "name", void 0); +exports.Category = Category = __decorate([ + (0, typeorm_1.Entity)() +], Category); +//# sourceMappingURL=category.entity.js.map \ No newline at end of file diff --git a/backend/dist/category/entities/category.entity.js.map b/backend/dist/category/entities/category.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..590c9b3ce8ed25620fc07937bcb8c64e9c2a2e83 --- /dev/null +++ b/backend/dist/category/entities/category.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"category.entity.js","sourceRoot":"","sources":["../../../src/category/entities/category.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAgF;AAGzE,IAAM,QAAQ,GAAd,MAAM,QAAQ;CASpB,CAAA;AATY,4BAAQ;AAEnB;IADC,IAAA,gCAAsB,GAAE;;4CACN;AAGnB;IADC,IAAA,uBAAa,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;0CACjC;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;sCACf;mBARF,QAAQ;IADpB,IAAA,gBAAM,GAAE;GACI,QAAQ,CASpB"} \ No newline at end of file diff --git a/backend/dist/constants/db.constants.d.ts b/backend/dist/constants/db.constants.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..c8bd158ef11e1690463b93ef86a092cc93792e8d --- /dev/null +++ b/backend/dist/constants/db.constants.d.ts @@ -0,0 +1,8 @@ +export declare class DbConstants { + static DB_HOST: string; + static DB_PORT: number; + static DB_USER: string; + static DB_PASSWORD: string; + static DB_NAME: string; + static DB_SYNC: boolean; +} diff --git a/backend/dist/constants/db.constants.js b/backend/dist/constants/db.constants.js new file mode 100644 index 0000000000000000000000000000000000000000..cf9a14bacc9e1a948d59f7ee816c652c8e9a3cbf --- /dev/null +++ b/backend/dist/constants/db.constants.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DbConstants = void 0; +class DbConstants { +} +exports.DbConstants = DbConstants; +DbConstants.DB_HOST = process.env.DB_HOST || 'localhost'; +DbConstants.DB_PORT = process.env.DB_PORT ? parseInt(process.env.DB_PORT) : 3306; +DbConstants.DB_USER = process.env.DB_USER || 'root'; +DbConstants.DB_PASSWORD = process.env.DB_PASSWORD || 'root'; +DbConstants.DB_NAME = process.env.DB_NAME || 'pueblos'; +DbConstants.DB_SYNC = process.env.DB_SYNC === 'true'; +//# sourceMappingURL=db.constants.js.map \ No newline at end of file diff --git a/backend/dist/constants/db.constants.js.map b/backend/dist/constants/db.constants.js.map new file mode 100644 index 0000000000000000000000000000000000000000..97da28a59efe0701d34975cf99291a24928c8cdf --- /dev/null +++ b/backend/dist/constants/db.constants.js.map @@ -0,0 +1 @@ +{"version":3,"file":"db.constants.js","sourceRoot":"","sources":["../../src/constants/db.constants.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;;AAAxB,kCAOC;AANQ,mBAAO,GAAW,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,WAAW,CAAC;AACrD,mBAAO,GAAW,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,mBAAO,GAAW,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC;AAChD,uBAAW,GAAW,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,MAAM,CAAC;AACxD,mBAAO,GAAW,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,SAAS,CAAC;AACnD,mBAAO,GAAY,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC"} \ No newline at end of file diff --git a/backend/dist/constants/google.constants.d.ts b/backend/dist/constants/google.constants.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..ece5a6937bebe0fc9cf20b9aa73c901586ede44e --- /dev/null +++ b/backend/dist/constants/google.constants.d.ts @@ -0,0 +1,3 @@ +export declare class GoogleConstants { + static GoogleTextToSpeechKey: string; +} diff --git a/backend/dist/constants/google.constants.js b/backend/dist/constants/google.constants.js new file mode 100644 index 0000000000000000000000000000000000000000..d8f8303acec2d517b1a20bb76e12ed8b99adda4c --- /dev/null +++ b/backend/dist/constants/google.constants.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GoogleConstants = void 0; +const dotenv = require("dotenv"); +dotenv.config(); +class GoogleConstants { +} +exports.GoogleConstants = GoogleConstants; +GoogleConstants.GoogleTextToSpeechKey = process.env.GOOGLE_TEXT_TO_SPEECH_API_KEY; +//# sourceMappingURL=google.constants.js.map \ No newline at end of file diff --git a/backend/dist/constants/google.constants.js.map b/backend/dist/constants/google.constants.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2f74bdd83d64a075bdefc4f81657a307e3ff8a76 --- /dev/null +++ b/backend/dist/constants/google.constants.js.map @@ -0,0 +1 @@ +{"version":3,"file":"google.constants.js","sourceRoot":"","sources":["../../src/constants/google.constants.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AAEjC,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAa,eAAe;;AAA5B,0CAEC;AADQ,qCAAqB,GAAW,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC"} \ No newline at end of file diff --git a/backend/dist/constants/jwt.constants.d.ts b/backend/dist/constants/jwt.constants.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..1ebc3e445034b778957dae2b67886e70500f4024 --- /dev/null +++ b/backend/dist/constants/jwt.constants.d.ts @@ -0,0 +1,3 @@ +export declare class JwtConstants { + static SECRET: string; +} diff --git a/backend/dist/constants/jwt.constants.js b/backend/dist/constants/jwt.constants.js new file mode 100644 index 0000000000000000000000000000000000000000..33c4d864deb291a30541061a4150c246903c469c --- /dev/null +++ b/backend/dist/constants/jwt.constants.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.JwtConstants = void 0; +const dotenv = require("dotenv"); +dotenv.config(); +class JwtConstants { +} +exports.JwtConstants = JwtConstants; +JwtConstants.SECRET = process.env.JWT_SECRET || 'secretKey'; +//# sourceMappingURL=jwt.constants.js.map \ No newline at end of file diff --git a/backend/dist/constants/jwt.constants.js.map b/backend/dist/constants/jwt.constants.js.map new file mode 100644 index 0000000000000000000000000000000000000000..92959e4ec2f5c0b05cd3c9e89597a7e37cf905d7 --- /dev/null +++ b/backend/dist/constants/jwt.constants.js.map @@ -0,0 +1 @@ +{"version":3,"file":"jwt.constants.js","sourceRoot":"","sources":["../../src/constants/jwt.constants.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAa,YAAY;;AAAzB,oCAEC;AADQ,mBAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,WAAW,CAAC"} \ No newline at end of file diff --git a/backend/dist/constants/mail.constants.d.ts b/backend/dist/constants/mail.constants.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..ec426621ceb84db77761c2d90f80c257e5070e54 --- /dev/null +++ b/backend/dist/constants/mail.constants.d.ts @@ -0,0 +1,5 @@ +export declare class MailConstants { + static MAIL_HOST: string; + static MAIL_USER: string; + static MAIL_PASSWORD: string; +} diff --git a/backend/dist/constants/mail.constants.js b/backend/dist/constants/mail.constants.js new file mode 100644 index 0000000000000000000000000000000000000000..748868d83ea31550e482ff124f4dee4426d44623 --- /dev/null +++ b/backend/dist/constants/mail.constants.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MailConstants = void 0; +class MailConstants { +} +exports.MailConstants = MailConstants; +MailConstants.MAIL_HOST = process.env.MAIL_HOST || 'smtp.gmail.com'; +MailConstants.MAIL_USER = process.env.MAIL_USER || 'nouser'; +MailConstants.MAIL_PASSWORD = process.env.MAIL_PASSWORD || 'nopassword'; +//# sourceMappingURL=mail.constants.js.map \ No newline at end of file diff --git a/backend/dist/constants/mail.constants.js.map b/backend/dist/constants/mail.constants.js.map new file mode 100644 index 0000000000000000000000000000000000000000..24b28efebef37db226eeb169413dc57d25a7640d --- /dev/null +++ b/backend/dist/constants/mail.constants.js.map @@ -0,0 +1 @@ +{"version":3,"file":"mail.constants.js","sourceRoot":"","sources":["../../src/constants/mail.constants.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;;AAA1B,sCAIC;AAHU,uBAAS,GAAW,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,gBAAgB,CAAC;AAC9D,uBAAS,GAAW,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,QAAQ,CAAC;AACtD,2BAAa,GAAW,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,YAAY,CAAC"} \ No newline at end of file diff --git a/backend/dist/constants/server.contants.d.ts b/backend/dist/constants/server.contants.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..6e17d527ed6c80e1f382d0c37d35835600bfa06e --- /dev/null +++ b/backend/dist/constants/server.contants.d.ts @@ -0,0 +1,7 @@ +export declare class ServerConstants { + static PORT: number; + static IP: string; + static HOST: string; + static ROOT_PATH: string; + static ROOT_STATIC_PATH: string; +} diff --git a/backend/dist/constants/server.contants.js b/backend/dist/constants/server.contants.js new file mode 100644 index 0000000000000000000000000000000000000000..ed60e9a69aa3dfb979f806e59acb2e55c06c3e12 --- /dev/null +++ b/backend/dist/constants/server.contants.js @@ -0,0 +1,24 @@ +"use strict"; +var _a; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ServerConstants = void 0; +const dotenv = require("dotenv"); +const network = require("network"); +const path_1 = require("path"); +let publicIp; +dotenv.config(); +class ServerConstants { +} +exports.ServerConstants = ServerConstants; +_a = ServerConstants; +ServerConstants.PORT = process.env.SERVER_PORT ? parseInt(process.env.SERVER_PORT) : 3003; +ServerConstants.IP = publicIp || 'http://localhost'; +ServerConstants.HOST = `http://${publicIp || 'localhost'}:${_a.PORT}`; +ServerConstants.ROOT_PATH = (0, path_1.join)(__dirname, '..', '..'); +ServerConstants.ROOT_STATIC_PATH = (0, path_1.join)(__dirname, '..', '..', 'static'); +network.get_private_ip(function (err, ip) { + publicIp = ip; + ServerConstants.IP = publicIp; + ServerConstants.HOST = `http://${publicIp || 'localhost'}:${ServerConstants.PORT}`; +}); +//# sourceMappingURL=server.contants.js.map \ No newline at end of file diff --git a/backend/dist/constants/server.contants.js.map b/backend/dist/constants/server.contants.js.map new file mode 100644 index 0000000000000000000000000000000000000000..cda1dadfb3da148bb0af9d8998faa0cff3414996 --- /dev/null +++ b/backend/dist/constants/server.contants.js.map @@ -0,0 +1 @@ +{"version":3,"file":"server.contants.js","sourceRoot":"","sources":["../../src/constants/server.contants.ts"],"names":[],"mappings":";;;;AAAA,iCAAiC;AACjC,mCAAmC;AACnC,+BAA4B;AAE5B,IAAI,QAAgB,CAAC;AAErB,MAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAa,eAAe;;AAA5B,0CAMC;;AALQ,oBAAI,GAAW,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,AAA7E,CAA8E;AAClF,kBAAE,GAAW,QAAQ,IAAI,kBAAkB,AAAzC,CAA0C;AAC5C,oBAAI,GAAW,UAAU,QAAQ,IAAI,WAAW,IAAI,EAAI,CAAC,IAAI,EAAE,AAA3D,CAA4D;AAChE,yBAAS,GAAW,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,AAAtC,CAAuC;AAChD,gCAAgB,GAAW,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,AAAhD,CAAiD;AAG1E,OAAO,CAAC,cAAc,CAAC,UAAU,GAAG,EAAE,EAAE;IACtC,QAAQ,GAAG,EAAE,CAAC;IACd,eAAe,CAAC,EAAE,GAAG,QAAQ,CAAC;IAC9B,eAAe,CAAC,IAAI,GAAG,UAAU,QAAQ,IAAI,WAAW,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC;AACrF,CAAC,CAAC,CAAC"} \ No newline at end of file diff --git a/backend/dist/database-seeder/database-seeder.module.d.ts b/backend/dist/database-seeder/database-seeder.module.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..3783e28749a6487081315f2f82597b457a257398 --- /dev/null +++ b/backend/dist/database-seeder/database-seeder.module.d.ts @@ -0,0 +1,2 @@ +export declare class DatabaseSeederModule { +} diff --git a/backend/dist/database-seeder/database-seeder.module.js b/backend/dist/database-seeder/database-seeder.module.js new file mode 100644 index 0000000000000000000000000000000000000000..752a0bbe3aeb92cef5ea004686621d78cca47aa1 --- /dev/null +++ b/backend/dist/database-seeder/database-seeder.module.js @@ -0,0 +1,68 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DatabaseSeederModule = void 0; +const common_1 = require("@nestjs/common"); +const typeorm_1 = require("@nestjs/typeorm"); +const database_seeder_service_1 = require("./database-seeder.service"); +const state_entity_1 = require("../state/entities/state.entity"); +const state_service_1 = require("../state/state.service"); +const town_entity_1 = require("../town/entities/town.entity"); +const admin_entity_1 = require("../admin/entities/admin.entity"); +const authAdmin_service_1 = require("../auth/admin/authAdmin.service"); +const admin_service_1 = require("../admin/admin.service"); +const jwt_1 = require("@nestjs/jwt"); +const encryption_service_1 = require("../auth/encryption/encryption.service"); +const town_service_1 = require("../town/town.service"); +const town_traduction_entity_1 = require("../town/entities/town-traduction.entity"); +const PointOfInterest_service_1 = require("../pointOfInterest/PointOfInterest.service"); +const place_service_1 = require("../place/place.service"); +const place_entity_1 = require("../place/entities/place.entity"); +const PointOfInterest_entity_1 = require("../pointOfInterest/entities/PointOfInterest.entity"); +const available_date_entity_1 = require("../place/entities/available-date.entity"); +const place_traduction_entity_1 = require("../place/entities/place-traduction.entity"); +const PointOfInterestTraduction_entity_1 = require("../pointOfInterest/entities/PointOfInterestTraduction.entity"); +const category_service_1 = require("../category/category.service"); +const category_entity_1 = require("../category/entities/category.entity"); +const admin_reset_code_entity_1 = require("../auth/admin/entitites/admin-reset-code.entity"); +let DatabaseSeederModule = class DatabaseSeederModule { +}; +exports.DatabaseSeederModule = DatabaseSeederModule; +exports.DatabaseSeederModule = DatabaseSeederModule = __decorate([ + (0, common_1.Module)({ + providers: [ + database_seeder_service_1.DatabaseSeederService, + state_service_1.StateService, + authAdmin_service_1.AuthAdminService, + admin_service_1.AdminService, + jwt_1.JwtService, + encryption_service_1.EncryptionService, + town_service_1.TownService, + PointOfInterest_service_1.PointOfInterestService, + place_service_1.PlaceService, + category_service_1.CategoryService, + ], + imports: [ + typeorm_1.TypeOrmModule.forFeature([ + state_entity_1.State, + town_entity_1.Town, + admin_entity_1.Admin, + town_entity_1.Town, + town_traduction_entity_1.TownTraduction, + place_entity_1.Place, + PointOfInterest_entity_1.PointOfInterest, + available_date_entity_1.AvailableDate, + place_traduction_entity_1.PlaceTraduction, + PointOfInterestTraduction_entity_1.PointOfInterestTraduction, + category_entity_1.Category, + admin_reset_code_entity_1.AdminResetCode, + ]), + ], + }) +], DatabaseSeederModule); +//# sourceMappingURL=database-seeder.module.js.map \ No newline at end of file diff --git a/backend/dist/database-seeder/database-seeder.module.js.map b/backend/dist/database-seeder/database-seeder.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..09380b7387cdf4b277a4a6696f5247c4f50b640a --- /dev/null +++ b/backend/dist/database-seeder/database-seeder.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"database-seeder.module.js","sourceRoot":"","sources":["../../src/database-seeder/database-seeder.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,uEAAkE;AAClE,iEAAwD;AACxD,0DAAuD;AACvD,8DAAqD;AACrD,iEAAwD;AACxD,uEAAoE;AACpE,0DAAuD;AACvD,qCAAyC;AACzC,8EAA2E;AAC3E,uDAAoD;AACpD,oFAA0E;AAC1E,wFAAqF;AACrF,0DAAuD;AACvD,iEAAwD;AACxD,+FAAsF;AACtF,mFAAyE;AACzE,uFAA6E;AAC7E,mHAA0G;AAC1G,mEAAgE;AAChE,0EAAiE;AACjE,6FAAkF;AAgC3E,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAAG,CAAA;AAAvB,oDAAoB;+BAApB,oBAAoB;IA9BhC,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT,+CAAqB;YACrB,4BAAY;YACZ,oCAAgB;YAChB,4BAAY;YACZ,gBAAU;YACV,sCAAiB;YACjB,0BAAW;YACX,gDAAsB;YACtB,4BAAY;YACZ,kCAAe;SAChB;QACD,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,oBAAK;gBACL,kBAAI;gBACJ,oBAAK;gBACL,kBAAI;gBACJ,uCAAc;gBACd,oBAAK;gBACL,wCAAe;gBACf,qCAAa;gBACb,yCAAe;gBACf,4DAAyB;gBACzB,0BAAQ;gBACR,wCAAc;aACf,CAAC;SACH;KACF,CAAC;GACW,oBAAoB,CAAG"} \ No newline at end of file diff --git a/backend/dist/database-seeder/database-seeder.service.d.ts b/backend/dist/database-seeder/database-seeder.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..442715392c7470301e3b6d12fe58df2d0765a83c --- /dev/null +++ b/backend/dist/database-seeder/database-seeder.service.d.ts @@ -0,0 +1,20 @@ +import { OnModuleInit } from '@nestjs/common'; +import { State } from 'src/state/entities/state.entity'; +import { StateService } from 'src/state/state.service'; +import { Repository } from 'typeorm'; +import { AuthAdminService } from 'src/auth/admin/authAdmin.service'; +import { TownService } from 'src/town/town.service'; +import { Category } from 'src/category/entities/category.entity'; +export declare class DatabaseSeederService implements OnModuleInit { + private stateRepo; + private readonly stateService; + private readonly authAdminService; + private readonly townService; + private categoryRepo; + constructor(stateRepo: Repository, stateService: StateService, authAdminService: AuthAdminService, townService: TownService, categoryRepo: Repository); + insertStates(): Promise; + insertSuperAdmin(): Promise; + insertTowns(): Promise; + insertCategories(): Promise; + onModuleInit(): Promise; +} diff --git a/backend/dist/database-seeder/database-seeder.service.js b/backend/dist/database-seeder/database-seeder.service.js new file mode 100644 index 0000000000000000000000000000000000000000..cb0d769726151a54b450f45d3c864f2f8fc1fd30 --- /dev/null +++ b/backend/dist/database-seeder/database-seeder.service.js @@ -0,0 +1,123 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DatabaseSeederService = void 0; +const common_1 = require("@nestjs/common"); +const typeorm_1 = require("@nestjs/typeorm"); +const state_entity_1 = require("../state/entities/state.entity"); +const state_service_1 = require("../state/state.service"); +const typeorm_2 = require("typeorm"); +const data = require("./states.json"); +const admin_role_enum_1 = require("../shared/enum/admin-role.enum"); +const user_status_enum_1 = require("../shared/enum/user-status.enum"); +const authAdmin_service_1 = require("../auth/admin/authAdmin.service"); +const town_service_1 = require("../town/town.service"); +const languages_enum_1 = require("../shared/enum/languages.enum"); +const category_entity_1 = require("../category/entities/category.entity"); +let DatabaseSeederService = class DatabaseSeederService { + constructor(stateRepo, stateService, authAdminService, townService, categoryRepo) { + this.stateRepo = stateRepo; + this.stateService = stateService; + this.authAdminService = authAdminService; + this.townService = townService; + this.categoryRepo = categoryRepo; + } + async insertStates() { + const states = data.states; + for (const state of states) { + await this.stateService.create(state); + } + } + async insertSuperAdmin() { + const createSuperAdmin = { + email: 'superadmin@gmail.com', + idTown: null, + password: '123', + name: 'Super Admin', + lastName: 'super', + role: admin_role_enum_1.ADMIN_ROLE.SUPERADMIN, + status: user_status_enum_1.UserStatus.ACTIVE, + }; + const createAdmin = { + email: 'admin@gmail.com', + idTown: 1, + password: '123', + name: 'Admin', + lastName: 'admin', + role: admin_role_enum_1.ADMIN_ROLE.ADMIN, + status: user_status_enum_1.UserStatus.ACTIVE, + }; + let tokenSuper = ''; + let tokenAdmin = ''; + try { + tokenSuper = await this.authAdminService.signUp({ ...createSuperAdmin }); + tokenAdmin = await this.authAdminService.signUp({ ...createAdmin }); + console.log({ tokenAdmin }); + } + catch (error) { + tokenSuper = (await this.authAdminService.signIn({ + email: createSuperAdmin.email, + password: createSuperAdmin.password, + })).token; + } + console.log(`Super Admin created with email: ${createSuperAdmin.email} + , password: ${createSuperAdmin.password}, and token: ${tokenSuper}`); + console.log(`Admin created with email: ${createAdmin.email}, password: ${createAdmin.password} and token: ${tokenAdmin}`); + } + async insertTowns() { + const town = { + state: 1, + name: 'Town', + imageName: 'default.jpg', + descriptionEN: 'Town description', + descriptionES: 'Descripcion del pueblo', + }; + await this.townService.create(town); + } + async insertCategories() { + const categoriesES = [ + { idCategory: 1, language: languages_enum_1.LANGUAGES.ES, name: 'Arquitectura' }, + { idCategory: 2, language: languages_enum_1.LANGUAGES.ES, name: 'Comida' }, + ]; + const categoriesEN = [ + { idCategory: 1, language: languages_enum_1.LANGUAGES.EN, name: 'Architecture' }, + { idCategory: 2, language: languages_enum_1.LANGUAGES.EN, name: 'Food' }, + ]; + for (let i = 0; i < categoriesES.length; i++) { + await this.categoryRepo.upsert([{ idCategory: categoriesES[i].idCategory, language: languages_enum_1.LANGUAGES.ES, name: categoriesES[i].name }], { + conflictPaths: ['idCategory', 'language'], + }); + await this.categoryRepo.upsert([{ idCategory: categoriesES[i].idCategory, language: languages_enum_1.LANGUAGES.EN, name: categoriesEN[i].name }], { + conflictPaths: ['idCategory', 'language'], + }); + } + } + async onModuleInit() { + await this.insertStates(); + await this.insertSuperAdmin(); + await this.insertCategories(); + } +}; +exports.DatabaseSeederService = DatabaseSeederService; +exports.DatabaseSeederService = DatabaseSeederService = __decorate([ + (0, common_1.Injectable)(), + __param(0, (0, typeorm_1.InjectRepository)(state_entity_1.State)), + __param(4, (0, typeorm_1.InjectRepository)(category_entity_1.Category)), + __metadata("design:paramtypes", [typeorm_2.Repository, + state_service_1.StateService, + authAdmin_service_1.AuthAdminService, + town_service_1.TownService, + typeorm_2.Repository]) +], DatabaseSeederService); +//# sourceMappingURL=database-seeder.service.js.map \ No newline at end of file diff --git a/backend/dist/database-seeder/database-seeder.service.js.map b/backend/dist/database-seeder/database-seeder.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..adc4629884aac776f641273ec2da26bf7b8dafc4 --- /dev/null +++ b/backend/dist/database-seeder/database-seeder.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"database-seeder.service.js","sourceRoot":"","sources":["../../src/database-seeder/database-seeder.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/database-seeder/states.json b/backend/dist/database-seeder/states.json new file mode 100644 index 0000000000000000000000000000000000000000..4d7e08c5904c8d6e5e4e5d8465da63acc1222f62 --- /dev/null +++ b/backend/dist/database-seeder/states.json @@ -0,0 +1,9 @@ +{ + "states": [ + { + "stateId": 1, + "name": "Zacatecas", + "imageName": "1.jpg" + } + ] +} diff --git a/backend/dist/email/email.service.d.ts b/backend/dist/email/email.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..3f7ccc1d32ace2b2d27a6506827788c55d81dbc7 --- /dev/null +++ b/backend/dist/email/email.service.d.ts @@ -0,0 +1,7 @@ +import { MailerService } from '@nestjs-modules/mailer'; +export declare class EmailService { + private readonly mailerService; + constructor(mailerService: MailerService); + sendResetPasswordEmail(email: string, resetCode: string): Promise; + sendConfirmationCode(email: string, confirmationCode: string): Promise; +} diff --git a/backend/dist/email/email.service.js b/backend/dist/email/email.service.js new file mode 100644 index 0000000000000000000000000000000000000000..f40c76747c552eb580b81d2a15839aff28707d1f --- /dev/null +++ b/backend/dist/email/email.service.js @@ -0,0 +1,53 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.EmailService = void 0; +const mailer_1 = require("@nestjs-modules/mailer"); +const common_1 = require("@nestjs/common"); +let EmailService = class EmailService { + constructor(mailerService) { + this.mailerService = mailerService; + } + async sendResetPasswordEmail(email, resetCode) { + const mailOptions = { + to: email, + subject: 'Reset your password', + html: `

Your reset code is ${resetCode}

`, + }; + try { + await this.mailerService.sendMail(mailOptions); + } + catch (error) { + console.error(error); + throw new Error('Error sending email'); + } + } + async sendConfirmationCode(email, confirmationCode) { + const mailOptions = { + to: email, + subject: 'Confirm your email', + html: `

Your confirmation code is ${confirmationCode}

`, + }; + try { + await this.mailerService.sendMail(mailOptions); + } + catch (error) { + console.error(error); + throw new Error('Error sending email'); + } + } +}; +exports.EmailService = EmailService; +exports.EmailService = EmailService = __decorate([ + (0, common_1.Injectable)(), + __metadata("design:paramtypes", [mailer_1.MailerService]) +], EmailService); +//# sourceMappingURL=email.service.js.map \ No newline at end of file diff --git a/backend/dist/email/email.service.js.map b/backend/dist/email/email.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f4a512b366c97f5f81ee642208fa8dbaf425dece --- /dev/null +++ b/backend/dist/email/email.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"email.service.js","sourceRoot":"","sources":["../../src/email/email.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mDAAuD;AACvD,2CAA4C;AAGrC,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YAA6B,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IAAG,CAAC;IAE7D,KAAK,CAAC,sBAAsB,CAAC,KAAa,EAAE,SAAiB;QAC3D,MAAM,WAAW,GAAG;YAClB,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,qBAAqB;YAC9B,IAAI,EAAE,4BAA4B,SAAS,UAAU;SACtD,CAAC;QACF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,KAAa,EAAE,gBAAwB;QAChE,MAAM,WAAW,GAAG;YAClB,EAAE,EAAE,KAAK;YACT,OAAO,EAAE,oBAAoB;YAC7B,IAAI,EAAE,mCAAmC,gBAAgB,UAAU;SACpE,CAAC;QACF,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;CACF,CAAA;AA9BY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;qCAEiC,sBAAa;GAD9C,YAAY,CA8BxB"} \ No newline at end of file diff --git a/backend/dist/main.d.ts b/backend/dist/main.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..cb0ff5c3b541f646105198ee23ac0fc3d805023e --- /dev/null +++ b/backend/dist/main.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/backend/dist/main.js b/backend/dist/main.js new file mode 100644 index 0000000000000000000000000000000000000000..2468ce3ff21d07acfe1715a3cbea10ba51469bfa --- /dev/null +++ b/backend/dist/main.js @@ -0,0 +1,34 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const core_1 = require("@nestjs/core"); +const app_module_1 = require("./app.module"); +const swagger_1 = require("@nestjs/swagger"); +const server_contants_1 = require("./constants/server.contants"); +const common_1 = require("@nestjs/common"); +const dotenv = require("dotenv"); +async function bootstrap() { + dotenv.config(); + const app = await core_1.NestFactory.create(app_module_1.AppModule); + app.useGlobalPipes(new common_1.ValidationPipe({ + transform: true, + })); + const config = new swagger_1.DocumentBuilder() + .setTitle('Pueblos Magicos API') + .setVersion('1.0') + .addBearerAuth({ + type: 'http', + scheme: 'bearer', + bearerFormat: 'JWT', + name: 'Authorization', + in: 'header', + }, 'jwt') + .build(); + const document = swagger_1.SwaggerModule.createDocument(app, config); + swagger_1.SwaggerModule.setup('api', app, document); + app.enableCors(); + await app.listen(server_contants_1.ServerConstants.PORT); + console.log(`Application is running on: ${await app.getUrl()}`); + console.log(`API documentation at: ${await app.getUrl()}/api`); +} +bootstrap(); +//# sourceMappingURL=main.js.map \ No newline at end of file diff --git a/backend/dist/main.js.map b/backend/dist/main.js.map new file mode 100644 index 0000000000000000000000000000000000000000..767e9489c9bf64fa8cc591dc38cd62acd5519494 --- /dev/null +++ b/backend/dist/main.js.map @@ -0,0 +1 @@ +{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";;AAAA,uCAA2C;AAC3C,6CAAyC;AACzC,6CAAiE;AACjE,iEAA8D;AAC9D,2CAAgD;AAChD,iCAAiC;AAEjC,KAAK,UAAU,SAAS;IACtB,MAAM,CAAC,MAAM,EAAE,CAAC;IAChB,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,MAAM,CAAC,sBAAS,CAAC,CAAC;IAChD,GAAG,CAAC,cAAc,CAChB,IAAI,uBAAc,CAAC;QACjB,SAAS,EAAE,IAAI;KAChB,CAAC,CACH,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,yBAAe,EAAE;SACjC,QAAQ,CAAC,qBAAqB,CAAC;SAC/B,UAAU,CAAC,KAAK,CAAC;SACjB,aAAa,CACZ;QACE,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,QAAQ;QAChB,YAAY,EAAE,KAAK;QACnB,IAAI,EAAE,eAAe;QACrB,EAAE,EAAE,QAAQ;KACb,EACD,KAAK,CACN;SACA,KAAK,EAAE,CAAC;IACX,MAAM,QAAQ,GAAG,uBAAa,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC3D,uBAAa,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC1C,GAAG,CAAC,UAAU,EAAE,CAAC;IACjB,MAAM,GAAG,CAAC,MAAM,CAAC,iCAAe,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,8BAA8B,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,yBAAyB,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC;AACD,SAAS,EAAE,CAAC"} \ No newline at end of file diff --git a/backend/dist/place/dto/create-date.dto.d.ts b/backend/dist/place/dto/create-date.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..46553a3249653e22f3133d3b8afb6c6083403517 --- /dev/null +++ b/backend/dist/place/dto/create-date.dto.d.ts @@ -0,0 +1,6 @@ +import { Place } from '../entities/place.entity'; +export declare class CreateDateDto { + startDate: Date; + endDate: Date; + idPlace: Place; +} diff --git a/backend/dist/place/dto/create-date.dto.js b/backend/dist/place/dto/create-date.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..ecbca3886e0dde80a90562db43f4236572b76f96 --- /dev/null +++ b/backend/dist/place/dto/create-date.dto.js @@ -0,0 +1,25 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreateDateDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +class CreateDateDto { +} +exports.CreateDateDto = CreateDateDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Date) +], CreateDateDto.prototype, "startDate", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Date) +], CreateDateDto.prototype, "endDate", void 0); +//# sourceMappingURL=create-date.dto.js.map \ No newline at end of file diff --git a/backend/dist/place/dto/create-date.dto.js.map b/backend/dist/place/dto/create-date.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c14caa6394d812346a66c886f68af14e483e1cc2 --- /dev/null +++ b/backend/dist/place/dto/create-date.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-date.dto.js","sourceRoot":"","sources":["../../../src/place/dto/create-date.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAG9C,MAAa,aAAa;CAQzB;AARD,sCAQC;AANC;IADC,IAAA,qBAAW,GAAE;8BACH,IAAI;gDAAC;AAGhB;IADC,IAAA,qBAAW,GAAE;8BACL,IAAI;8CAAC"} \ No newline at end of file diff --git a/backend/dist/place/dto/create-place-date.dto.d.ts b/backend/dist/place/dto/create-place-date.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..7b4d46f8aa670978773ae1ec45d0ab7de64c14ee --- /dev/null +++ b/backend/dist/place/dto/create-place-date.dto.d.ts @@ -0,0 +1,17 @@ +import { Available } from 'src/pointOfInterest/enum/available.enum'; +export declare class CreatePlaceDateTradDto { + available: Available; + idTown: number; + name: string; + categoriesId: number[]; + descriptionES: string; + descriptionEN: string; + image: any; + latitude: any; + longitude: any; + address: string; + openAt: number; + closeAt: number; + startDate: Date; + endDate: Date; +} diff --git a/backend/dist/place/dto/create-place-date.dto.js b/backend/dist/place/dto/create-place-date.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..8c793c13b6aadc654f5bc175444c2411d4a7f1a4 --- /dev/null +++ b/backend/dist/place/dto/create-place-date.dto.js @@ -0,0 +1,78 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreatePlaceDateTradDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +const available_enum_1 = require("../../pointOfInterest/enum/available.enum"); +const class_transformer_1 = require("class-transformer"); +const class_validator_1 = require("class-validator"); +class CreatePlaceDateTradDto { +} +exports.CreatePlaceDateTradDto = CreatePlaceDateTradDto; +__decorate([ + (0, swagger_1.ApiProperty)({ enum: available_enum_1.Available, enumName: 'Available' }), + __metadata("design:type", String) +], CreatePlaceDateTradDto.prototype, "available", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Number) +], CreatePlaceDateTradDto.prototype, "idTown", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreatePlaceDateTradDto.prototype, "name", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ type: String, description: 'Comma-separated list of category IDs', example: '1,2,3' }), + (0, class_validator_1.IsArray)({}), + (0, class_transformer_1.Transform)(({ value }) => value.split(',').map(Number)), + __metadata("design:type", Array) +], CreatePlaceDateTradDto.prototype, "categoriesId", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreatePlaceDateTradDto.prototype, "descriptionES", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreatePlaceDateTradDto.prototype, "descriptionEN", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ type: 'string', format: 'binary' }), + __metadata("design:type", Object) +], CreatePlaceDateTradDto.prototype, "image", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ type: 'decimal' }), + __metadata("design:type", Object) +], CreatePlaceDateTradDto.prototype, "latitude", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ type: 'decimal' }), + __metadata("design:type", Object) +], CreatePlaceDateTradDto.prototype, "longitude", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreatePlaceDateTradDto.prototype, "address", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ maximum: 24, minimum: 0 }), + __metadata("design:type", Number) +], CreatePlaceDateTradDto.prototype, "openAt", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ maximum: 24, minimum: 0 }), + __metadata("design:type", Number) +], CreatePlaceDateTradDto.prototype, "closeAt", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ nullable: true, required: false, description: 'Only required if available is CUSTOM' }), + __metadata("design:type", Date) +], CreatePlaceDateTradDto.prototype, "startDate", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ nullable: true, required: false, description: 'Only required if available is CUSTOM' }), + __metadata("design:type", Date) +], CreatePlaceDateTradDto.prototype, "endDate", void 0); +//# sourceMappingURL=create-place-date.dto.js.map \ No newline at end of file diff --git a/backend/dist/place/dto/create-place-date.dto.js.map b/backend/dist/place/dto/create-place-date.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b095f612133de3dcb8cfa9355623bb8f085d93c6 --- /dev/null +++ b/backend/dist/place/dto/create-place-date.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-place-date.dto.js","sourceRoot":"","sources":["../../../src/place/dto/create-place-date.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,8EAAoE;AACpE,yDAA8C;AAC9C,qDAA0C;AAE1C,MAAa,sBAAsB;CA4ClC;AA5CD,wDA4CC;AA1CC;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,0BAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;;yDACnC;AAGrB;IADC,IAAA,qBAAW,GAAE;;sDACC;AAGf;IADC,IAAA,qBAAW,GAAE;;oDACD;AAKb;IAHC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,sCAAsC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACpG,IAAA,yBAAO,EAAC,EAAE,CAAC;IACX,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;;4DAChC;AAGvB;IADC,IAAA,qBAAW,GAAE;;6DACQ;AAEtB;IADC,IAAA,qBAAW,GAAE;;6DACQ;AAGtB;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;;qDAC5C;AAGN;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;wDACxB;AAGT;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;;yDACvB;AAGV;IADC,IAAA,qBAAW,GAAE;;uDACE;AAIhB;IADC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sDAC1B;AAGf;IADC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uDACzB;AAGhB;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC;8BAC3F,IAAI;yDAAC;AAGhB;IADC,IAAA,qBAAW,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,sCAAsC,EAAE,CAAC;8BAC7F,IAAI;uDAAC"} \ No newline at end of file diff --git a/backend/dist/place/dto/create-place-trad.dto.d.ts b/backend/dist/place/dto/create-place-trad.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..4d0a8157e40d4b264434611e0f3ee1a1b3d87501 --- /dev/null +++ b/backend/dist/place/dto/create-place-trad.dto.d.ts @@ -0,0 +1,6 @@ +import { LANGUAGES } from 'src/shared/enum/languages.enum'; +export declare class CreateTraductionPlaceDto { + language: LANGUAGES; + idPlace: number; + description: string; +} diff --git a/backend/dist/place/dto/create-place-trad.dto.js b/backend/dist/place/dto/create-place-trad.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..f2a2846257505b0d5851dd6322bd9bc116914bba --- /dev/null +++ b/backend/dist/place/dto/create-place-trad.dto.js @@ -0,0 +1,33 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreateTraductionPlaceDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +const languages_enum_1 = require("../../shared/enum/languages.enum"); +class CreateTraductionPlaceDto { + constructor() { + this.language = languages_enum_1.LANGUAGES.ES; + } +} +exports.CreateTraductionPlaceDto = CreateTraductionPlaceDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreateTraductionPlaceDto.prototype, "language", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Number) +], CreateTraductionPlaceDto.prototype, "idPlace", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreateTraductionPlaceDto.prototype, "description", void 0); +//# sourceMappingURL=create-place-trad.dto.js.map \ No newline at end of file diff --git a/backend/dist/place/dto/create-place-trad.dto.js.map b/backend/dist/place/dto/create-place-trad.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8b46b46e4add71fb1c604bb31601b8fe21595c3a --- /dev/null +++ b/backend/dist/place/dto/create-place-trad.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-place-trad.dto.js","sourceRoot":"","sources":["../../../src/place/dto/create-place-trad.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qEAA2D;AAE3D,MAAa,wBAAwB;IAArC;QAEE,aAAQ,GAAc,0BAAS,CAAC,EAAE,CAAC;IAMrC,CAAC;CAAA;AARD,4DAQC;AANC;IADC,IAAA,qBAAW,GAAE;;0DACqB;AAEnC;IADC,IAAA,qBAAW,GAAE;;yDACE;AAGhB;IADC,IAAA,qBAAW,GAAE;;6DACM"} \ No newline at end of file diff --git a/backend/dist/place/dto/create-place.dto.d.ts b/backend/dist/place/dto/create-place.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..87220e01f670a4cb5ea172c93bced3fe6eb64cde --- /dev/null +++ b/backend/dist/place/dto/create-place.dto.d.ts @@ -0,0 +1,15 @@ +import { Category } from 'src/category/entities/category.entity'; +import { Available } from 'src/pointOfInterest/enum/available.enum'; +import { Town } from 'src/town/entities/town.entity'; +export declare class CreatePlaceDto { + available: Available; + name: string; + imageName: string; + town: Town; + latitude: 'decimal'; + longitude: 'decimal'; + address: string; + openAt: number; + closeAt: number; + categories: Category[]; +} diff --git a/backend/dist/place/dto/create-place.dto.js b/backend/dist/place/dto/create-place.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..fa0cdbe68c5276f679b27db1cf8fb8cea8130b16 --- /dev/null +++ b/backend/dist/place/dto/create-place.dto.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreatePlaceDto = void 0; +class CreatePlaceDto { +} +exports.CreatePlaceDto = CreatePlaceDto; +//# sourceMappingURL=create-place.dto.js.map \ No newline at end of file diff --git a/backend/dist/place/dto/create-place.dto.js.map b/backend/dist/place/dto/create-place.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3ee158f19308730abe3f02370b2e198f1d51ef6a --- /dev/null +++ b/backend/dist/place/dto/create-place.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-place.dto.js","sourceRoot":"","sources":["../../../src/place/dto/create-place.dto.ts"],"names":[],"mappings":";;;AAIA,MAAa,cAAc;CAW1B;AAXD,wCAWC"} \ No newline at end of file diff --git a/backend/dist/place/dto/get-place.dto.d.ts b/backend/dist/place/dto/get-place.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..1f67aa919caac75c8b030f4a266cc9d53a360b3a --- /dev/null +++ b/backend/dist/place/dto/get-place.dto.d.ts @@ -0,0 +1,17 @@ +import { Available } from 'src/pointOfInterest/enum/available.enum'; +export declare class GetPlaceDto { + idTown: number; + idPlace: number; + name: string; + description: string; + available: Available; + imageName: string; + latitude: number; + longitude: number; + openAt: number; + closeAt: number; + startDate: Date; + endDate: Date; + categories: any[]; + address: string; +} diff --git a/backend/dist/place/dto/get-place.dto.js b/backend/dist/place/dto/get-place.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..2cd3d58315bbda25ddfe3b3a1e6fc0bc47eb0d32 --- /dev/null +++ b/backend/dist/place/dto/get-place.dto.js @@ -0,0 +1,74 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GetPlaceDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +const available_enum_1 = require("../../pointOfInterest/enum/available.enum"); +class GetPlaceDto { +} +exports.GetPlaceDto = GetPlaceDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Number) +], GetPlaceDto.prototype, "idTown", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Number) +], GetPlaceDto.prototype, "idPlace", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], GetPlaceDto.prototype, "name", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], GetPlaceDto.prototype, "description", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], GetPlaceDto.prototype, "available", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], GetPlaceDto.prototype, "imageName", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Number) +], GetPlaceDto.prototype, "latitude", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Number) +], GetPlaceDto.prototype, "longitude", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Number) +], GetPlaceDto.prototype, "openAt", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Number) +], GetPlaceDto.prototype, "closeAt", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Date) +], GetPlaceDto.prototype, "startDate", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Date) +], GetPlaceDto.prototype, "endDate", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Array) +], GetPlaceDto.prototype, "categories", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], GetPlaceDto.prototype, "address", void 0); +//# sourceMappingURL=get-place.dto.js.map \ No newline at end of file diff --git a/backend/dist/place/dto/get-place.dto.js.map b/backend/dist/place/dto/get-place.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e53b4014bc21c76f819b7780e55237c1f866c4a3 --- /dev/null +++ b/backend/dist/place/dto/get-place.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"get-place.dto.js","sourceRoot":"","sources":["../../../src/place/dto/get-place.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,8EAAoE;AAEpE,MAAa,WAAW;CA8BvB;AA9BD,kCA8BC;AA5BC;IADC,IAAA,qBAAW,GAAE;;2CACC;AAEf;IADC,IAAA,qBAAW,GAAE;;4CACE;AAEhB;IADC,IAAA,qBAAW,GAAE;;yCACD;AAEb;IADC,IAAA,qBAAW,GAAE;;gDACM;AAEpB;IADC,IAAA,qBAAW,GAAE;;8CACO;AAErB;IADC,IAAA,qBAAW,GAAE;;8CACI;AAElB;IADC,IAAA,qBAAW,GAAE;;6CACG;AAEjB;IADC,IAAA,qBAAW,GAAE;;8CACI;AAElB;IADC,IAAA,qBAAW,GAAE;;2CACC;AAEf;IADC,IAAA,qBAAW,GAAE;;4CACE;AAEhB;IADC,IAAA,qBAAW,GAAE;8BACH,IAAI;8CAAC;AAEhB;IADC,IAAA,qBAAW,GAAE;8BACL,IAAI;4CAAC;AAEd;IADC,IAAA,qBAAW,GAAE;;+CACI;AAGlB;IADC,IAAA,qBAAW,GAAE;;4CACE"} \ No newline at end of file diff --git a/backend/dist/place/dto/update-place.req.dto.d.ts b/backend/dist/place/dto/update-place.req.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..81c855893e56dca65d36bdbe7c68237f5970ac4d --- /dev/null +++ b/backend/dist/place/dto/update-place.req.dto.d.ts @@ -0,0 +1,5 @@ +import { CreatePlaceDateTradDto } from './create-place-date.dto'; +declare const UpdatePlaceReqDto_base: import("@nestjs/common").Type>; +export declare class UpdatePlaceReqDto extends UpdatePlaceReqDto_base { +} +export {}; diff --git a/backend/dist/place/dto/update-place.req.dto.js b/backend/dist/place/dto/update-place.req.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..72dcb19aa73ec5b4a0feefaeb0dc5025f428624e --- /dev/null +++ b/backend/dist/place/dto/update-place.req.dto.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UpdatePlaceReqDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +const create_place_date_dto_1 = require("./create-place-date.dto"); +class UpdatePlaceReqDto extends (0, swagger_1.PartialType)(create_place_date_dto_1.CreatePlaceDateTradDto) { +} +exports.UpdatePlaceReqDto = UpdatePlaceReqDto; +//# sourceMappingURL=update-place.req.dto.js.map \ No newline at end of file diff --git a/backend/dist/place/dto/update-place.req.dto.js.map b/backend/dist/place/dto/update-place.req.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..936be2bbe0325622360331511a6c3b208d16a57d --- /dev/null +++ b/backend/dist/place/dto/update-place.req.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"update-place.req.dto.js","sourceRoot":"","sources":["../../../src/place/dto/update-place.req.dto.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,mEAAiE;AAEjE,MAAa,iBAAkB,SAAQ,IAAA,qBAAW,EAAC,8CAAsB,CAAC;CAAG;AAA7E,8CAA6E"} \ No newline at end of file diff --git a/backend/dist/place/entities/available-date.entity.d.ts b/backend/dist/place/entities/available-date.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..b892300d14a93811b73b12f807bf90583f1cb7c8 --- /dev/null +++ b/backend/dist/place/entities/available-date.entity.d.ts @@ -0,0 +1,7 @@ +import { Place } from './place.entity'; +export declare class AvailableDate { + idPlace: number; + place: Place; + startDate: Date; + endDate: Date; +} diff --git a/backend/dist/place/entities/available-date.entity.js b/backend/dist/place/entities/available-date.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..d5c8f5be4cec7cc67b71cbd6e2b29e3b3e8381a7 --- /dev/null +++ b/backend/dist/place/entities/available-date.entity.js @@ -0,0 +1,38 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AvailableDate = void 0; +const typeorm_1 = require("typeorm"); +const place_entity_1 = require("./place.entity"); +let AvailableDate = class AvailableDate { +}; +exports.AvailableDate = AvailableDate; +__decorate([ + (0, typeorm_1.PrimaryColumn)(), + __metadata("design:type", Number) +], AvailableDate.prototype, "idPlace", void 0); +__decorate([ + (0, typeorm_1.JoinColumn)({ name: 'idPlace' }), + (0, typeorm_1.ManyToOne)(() => place_entity_1.Place, (place) => place.availableDates, { nullable: false }), + __metadata("design:type", place_entity_1.Place) +], AvailableDate.prototype, "place", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", Date) +], AvailableDate.prototype, "startDate", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", Date) +], AvailableDate.prototype, "endDate", void 0); +exports.AvailableDate = AvailableDate = __decorate([ + (0, typeorm_1.Entity)() +], AvailableDate); +//# sourceMappingURL=available-date.entity.js.map \ No newline at end of file diff --git a/backend/dist/place/entities/available-date.entity.js.map b/backend/dist/place/entities/available-date.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..04c2c9d4df42e9f682a8f84ddf1c25e2a73f2da7 --- /dev/null +++ b/backend/dist/place/entities/available-date.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"available-date.entity.js","sourceRoot":"","sources":["../../../src/place/entities/available-date.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAA+E;AAC/E,iDAAuC;AAGhC,IAAM,aAAa,GAAnB,MAAM,aAAa;CAYzB,CAAA;AAZY,sCAAa;AAExB;IADC,IAAA,uBAAa,GAAE;;8CACA;AAIhB;IAFC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC/B,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,oBAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BACtE,oBAAK;4CAAC;AAGb;IADC,IAAA,gBAAM,GAAE;8BACE,IAAI;gDAAC;AAEhB;IADC,IAAA,gBAAM,GAAE;8BACA,IAAI;8CAAC;wBAXH,aAAa;IADzB,IAAA,gBAAM,GAAE;GACI,aAAa,CAYzB"} \ No newline at end of file diff --git a/backend/dist/place/entities/place-traduction.entity.d.ts b/backend/dist/place/entities/place-traduction.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..ef18bdc6382ca93f4b70990f3128b7dd45067de0 --- /dev/null +++ b/backend/dist/place/entities/place-traduction.entity.d.ts @@ -0,0 +1,6 @@ +import { LANGUAGES } from 'src/shared/enum/languages.enum'; +export declare class PlaceTraduction { + language: LANGUAGES; + idPlace: number; + description: string; +} diff --git a/backend/dist/place/entities/place-traduction.entity.js b/backend/dist/place/entities/place-traduction.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..b7a50116ea255933499ec4ab8b5009f1cba8bfb0 --- /dev/null +++ b/backend/dist/place/entities/place-traduction.entity.js @@ -0,0 +1,38 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PlaceTraduction = void 0; +const typeorm_1 = require("typeorm"); +const place_entity_1 = require("./place.entity"); +const languages_enum_1 = require("../../shared/enum/languages.enum"); +let PlaceTraduction = class PlaceTraduction { + constructor() { + this.language = languages_enum_1.LANGUAGES.ES; + } +}; +exports.PlaceTraduction = PlaceTraduction; +__decorate([ + (0, typeorm_1.PrimaryColumn)(), + __metadata("design:type", String) +], PlaceTraduction.prototype, "language", void 0); +__decorate([ + (0, typeorm_1.PrimaryColumn)({ name: 'idPlace', type: Number }), + (0, typeorm_1.ManyToOne)(() => place_entity_1.Place, (place) => place.availableDates, { nullable: false }), + __metadata("design:type", Number) +], PlaceTraduction.prototype, "idPlace", void 0); +__decorate([ + (0, typeorm_1.Column)({ length: 1024 }), + __metadata("design:type", String) +], PlaceTraduction.prototype, "description", void 0); +exports.PlaceTraduction = PlaceTraduction = __decorate([ + (0, typeorm_1.Entity)() +], PlaceTraduction); +//# sourceMappingURL=place-traduction.entity.js.map \ No newline at end of file diff --git a/backend/dist/place/entities/place-traduction.entity.js.map b/backend/dist/place/entities/place-traduction.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1a4c984a3963f19d305d0bf3b5a9e3cccdf0787f --- /dev/null +++ b/backend/dist/place/entities/place-traduction.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"place-traduction.entity.js","sourceRoot":"","sources":["../../../src/place/entities/place-traduction.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAmE;AACnE,iDAAuC;AACvC,qEAA2D;AAGpD,IAAM,eAAe,GAArB,MAAM,eAAe;IAArB;QAEL,aAAQ,GAAc,0BAAS,CAAC,EAAE,CAAC;IAQrC,CAAC;CAAA,CAAA;AAVY,0CAAe;AAE1B;IADC,IAAA,uBAAa,GAAE;;iDACmB;AAInC;IAFC,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAChD,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,oBAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;gDAC7D;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;oDACL;0BATT,eAAe;IAD3B,IAAA,gBAAM,GAAE;GACI,eAAe,CAU3B"} \ No newline at end of file diff --git a/backend/dist/place/entities/place.entity.d.ts b/backend/dist/place/entities/place.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..9c84d9040a8ceeef41bb347d39253c136f10daca --- /dev/null +++ b/backend/dist/place/entities/place.entity.d.ts @@ -0,0 +1,24 @@ +import { PointOfInterest } from 'src/pointOfInterest/entities/PointOfInterest.entity'; +import { Available } from 'src/pointOfInterest/enum/available.enum'; +import { Town } from 'src/town/entities/town.entity'; +import { AvailableDate } from './available-date.entity'; +import { Category } from 'src/category/entities/category.entity'; +import { PlaceTraduction } from './place-traduction.entity'; +import { Visited } from 'src/visited/entities/visited.entity'; +export declare class Place { + idPlace: number; + town: Town; + points: PointOfInterest[]; + availableDates: AvailableDate[]; + categories: Category[]; + placeTraduction: PlaceTraduction[]; + visited: Visited[]; + available: Available; + name: string; + imageName: string; + latitude: any; + longitude: any; + address: string; + openAt: number; + closeAt: number; +} diff --git a/backend/dist/place/entities/place.entity.js b/backend/dist/place/entities/place.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..6ba6287cdeb8e7ed407bafb1e5b0b885067af652 --- /dev/null +++ b/backend/dist/place/entities/place.entity.js @@ -0,0 +1,89 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Place = void 0; +const PointOfInterest_entity_1 = require("../../pointOfInterest/entities/PointOfInterest.entity"); +const available_enum_1 = require("../../pointOfInterest/enum/available.enum"); +const town_entity_1 = require("../../town/entities/town.entity"); +const typeorm_1 = require("typeorm"); +const available_date_entity_1 = require("./available-date.entity"); +const category_entity_1 = require("../../category/entities/category.entity"); +const place_traduction_entity_1 = require("./place-traduction.entity"); +const visited_entity_1 = require("../../visited/entities/visited.entity"); +let Place = class Place { +}; +exports.Place = Place; +__decorate([ + (0, typeorm_1.PrimaryGeneratedColumn)(), + __metadata("design:type", Number) +], Place.prototype, "idPlace", void 0); +__decorate([ + (0, typeorm_1.JoinColumn)({ name: 'idTown' }), + (0, typeorm_1.ManyToOne)(() => town_entity_1.Town, (town) => town.townId, { nullable: false }), + __metadata("design:type", town_entity_1.Town) +], Place.prototype, "town", void 0); +__decorate([ + (0, typeorm_1.OneToMany)(() => PointOfInterest_entity_1.PointOfInterest, (point) => point.idPoint), + __metadata("design:type", Array) +], Place.prototype, "points", void 0); +__decorate([ + (0, typeorm_1.OneToMany)(() => available_date_entity_1.AvailableDate, (available) => available.place), + __metadata("design:type", Array) +], Place.prototype, "availableDates", void 0); +__decorate([ + (0, typeorm_1.ManyToMany)(() => category_entity_1.Category, { eager: true }), + (0, typeorm_1.JoinTable)(), + __metadata("design:type", Array) +], Place.prototype, "categories", void 0); +__decorate([ + (0, typeorm_1.OneToMany)(() => place_traduction_entity_1.PlaceTraduction, (placeTraduction) => placeTraduction.idPlace), + __metadata("design:type", Array) +], Place.prototype, "placeTraduction", void 0); +__decorate([ + (0, typeorm_1.OneToOne)(() => visited_entity_1.Visited, (visited) => visited.place), + __metadata("design:type", Array) +], Place.prototype, "visited", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], Place.prototype, "available", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], Place.prototype, "name", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], Place.prototype, "imageName", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: false, type: 'decimal', precision: 20, scale: 4 }), + __metadata("design:type", Object) +], Place.prototype, "latitude", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: false, type: 'decimal', precision: 20, scale: 4 }), + __metadata("design:type", Object) +], Place.prototype, "longitude", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: false }), + __metadata("design:type", String) +], Place.prototype, "address", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: false }), + __metadata("design:type", Number) +], Place.prototype, "openAt", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: false }), + __metadata("design:type", Number) +], Place.prototype, "closeAt", void 0); +exports.Place = Place = __decorate([ + (0, typeorm_1.Entity)() +], Place); +//# sourceMappingURL=place.entity.js.map \ No newline at end of file diff --git a/backend/dist/place/entities/place.entity.js.map b/backend/dist/place/entities/place.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..149474baf188d6d764a8a5efcf8abe068348f67d --- /dev/null +++ b/backend/dist/place/entities/place.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"place.entity.js","sourceRoot":"","sources":["../../../src/place/entities/place.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kGAAsF;AACtF,8EAAoE;AACpE,iEAAqD;AACrD,qCAUiB;AACjB,mEAAwD;AACxD,6EAAiE;AACjE,uEAA4D;AAC5D,0EAA8D;AAGvD,IAAM,KAAK,GAAX,MAAM,KAAK;CA8CjB,CAAA;AA9CY,sBAAK;AAEhB;IADC,IAAA,gCAAsB,GAAE;;sCACT;AAIhB;IAFC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC9B,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BAC5D,kBAAI;mCAAC;AAGX;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wCAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;;qCACjC;AAG1B;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,qCAAa,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;;6CAC/B;AAIhC;IAFC,IAAA,oBAAU,EAAC,GAAG,EAAE,CAAC,0BAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC3C,IAAA,mBAAS,GAAE;;yCACW;AAGvB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,yCAAe,EAAE,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC;;8CAC5C;AAGnC;IADC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,wBAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;;sCACjC;AAEnB;IADC,IAAA,gBAAM,GAAE;;wCACY;AAGrB;IADC,IAAA,gBAAM,GAAE;;mCACI;AAGb;IADC,IAAA,gBAAM,GAAE;;wCACS;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;;uCAC7D;AAGT;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;;wCAC5D;AAGV;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;sCACZ;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;qCACb;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;sCACZ;gBA7CL,KAAK;IADjB,IAAA,gBAAM,GAAE;GACI,KAAK,CA8CjB"} \ No newline at end of file diff --git a/backend/dist/place/place.controller.d.ts b/backend/dist/place/place.controller.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..e4a289d246e9da118a8b53d950ef5ab2313b99ed --- /dev/null +++ b/backend/dist/place/place.controller.d.ts @@ -0,0 +1,19 @@ +import { PlaceService } from './place.service'; +import { CreatePlaceDateTradDto } from './dto/create-place-date.dto'; +import { CustomAdminRequest } from 'src/auth/admin/interface/customAdminReq'; +import { UpdatePlaceReqDto } from './dto/update-place.req.dto'; +import { GetPlaceDto } from './dto/get-place.dto'; +import { CustomUserRequest } from 'src/auth/user/interface/customUserReq'; +export declare class PlaceController { + private readonly placeService; + constructor(placeService: PlaceService); + create(file: any, createPlaceDto: CreatePlaceDateTradDto, req: CustomAdminRequest): Promise<{ + message: string; + }>; + findAll(idTown: number, lang: string): Promise; + findOne(idPlace: number, lang: string): Promise; + update(file: any, updatePlaceReqDto: UpdatePlaceReqDto, idPlace: number, req: CustomAdminRequest): Promise<{ + message: string; + }>; + findOpenPlaces(idTown: number, lang: string, req: CustomUserRequest): Promise; +} diff --git a/backend/dist/place/place.controller.js b/backend/dist/place/place.controller.js new file mode 100644 index 0000000000000000000000000000000000000000..784c27f03c8f8c3d63b6fbe4dc3633bd70a9eb97 --- /dev/null +++ b/backend/dist/place/place.controller.js @@ -0,0 +1,143 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PlaceController = void 0; +const common_1 = require("@nestjs/common"); +const place_service_1 = require("./place.service"); +const create_place_date_dto_1 = require("./dto/create-place-date.dto"); +const swagger_1 = require("@nestjs/swagger"); +const role_decorator_1 = require("../auth/role.decorator"); +const admin_role_enum_1 = require("../shared/enum/admin-role.enum"); +const file_save_interceptor_1 = require("../shared/interceptors/file-save.interceptor"); +const file_validation_pipe_1 = require("../shared/pipe/file-validation.pipe"); +const update_place_req_dto_1 = require("./dto/update-place.req.dto"); +const authAdmin_guard_1 = require("../auth/admin/authAdmin.guard"); +const get_place_dto_1 = require("./dto/get-place.dto"); +const authUser_guard_1 = require("../auth/user/authUser.guard"); +let PlaceController = class PlaceController { + constructor(placeService) { + this.placeService = placeService; + } + async create(file, createPlaceDto, req) { + try { + if (req.admin.idTown.townId != createPlaceDto.idTown) { + throw new common_1.UnauthorizedException('This is not your assigned town'); + } + createPlaceDto.image = file; + await this.placeService.create(createPlaceDto); + return { message: 'Place created successfully' }; + } + catch (e) { + throw e; + } + } + async findAll(idTown, lang) { + try { + return this.placeService.findAllByTown(idTown, lang); + } + catch (e) { + throw e; + } + } + findOne(idPlace, lang) { + return this.placeService.findOneAndTradAndAvailable(idPlace, lang); + } + async update(file, updatePlaceReqDto, idPlace, req) { + try { + if (req.admin.idTown.townId != updatePlaceReqDto.idTown) { + throw new common_1.UnauthorizedException('This is not your assigned town'); + } + updatePlaceReqDto.image = file; + await this.placeService.update(idPlace, updatePlaceReqDto); + return { message: 'Place updated successfully' }; + } + catch (e) { + throw e; + } + } + async findOpenPlaces(idTown, lang, req) { + return await this.placeService.findPlacesNotVisitedByUserAndOpenResponse(req.user.email, lang, idTown); + } +}; +exports.PlaceController = PlaceController; +__decorate([ + (0, swagger_1.ApiBody)({ type: create_place_date_dto_1.CreatePlaceDateTradDto }), + (0, swagger_1.ApiConsumes)('multipart/form-data'), + (0, swagger_1.ApiResponse)({ type: get_place_dto_1.GetPlaceDto, status: 201, description: 'Created' }), + (0, common_1.UseGuards)(authAdmin_guard_1.AuthAdminGuard), + (0, role_decorator_1.Roles)([admin_role_enum_1.ALL_ROLES.ADMIN]), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, common_1.Post)(), + (0, common_1.UseInterceptors)((0, file_save_interceptor_1.fileInterceptor)('image', 'static/places/', ['.jpg', '.jpeg', '.png'])), + __param(0, (0, common_1.UploadedFile)(new file_validation_pipe_1.FileValidationPipe())), + __param(1, (0, common_1.Body)()), + __param(2, (0, common_1.Req)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, create_place_date_dto_1.CreatePlaceDateTradDto, Object]), + __metadata("design:returntype", Promise) +], PlaceController.prototype, "create", null); +__decorate([ + (0, swagger_1.ApiQuery)({ name: 'lang', type: String }), + (0, swagger_1.ApiParam)({ name: 'idTown', type: Number }), + (0, common_1.Get)('/town/:idTown/place'), + __param(0, (0, common_1.Param)('idTown')), + __param(1, (0, common_1.Query)('lang')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Number, String]), + __metadata("design:returntype", Promise) +], PlaceController.prototype, "findAll", null); +__decorate([ + (0, common_1.Get)(':idPlace'), + (0, swagger_1.ApiQuery)({ name: 'lang', type: String }), + __param(0, (0, common_1.Param)('idPlace')), + __param(1, (0, common_1.Query)('lang')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Number, String]), + __metadata("design:returntype", void 0) +], PlaceController.prototype, "findOne", null); +__decorate([ + (0, common_1.Patch)(':idPlace'), + (0, common_1.UseGuards)(authAdmin_guard_1.AuthAdminGuard), + (0, role_decorator_1.Roles)([admin_role_enum_1.ALL_ROLES.ADMIN]), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, swagger_1.ApiConsumes)('multipart/form-data'), + (0, swagger_1.ApiBody)({ type: create_place_date_dto_1.CreatePlaceDateTradDto }), + (0, common_1.UseInterceptors)((0, file_save_interceptor_1.fileInterceptor)('image', 'static/places/', ['.jpg', '.jpeg', '.png'])), + __param(0, (0, common_1.UploadedFile)(new file_validation_pipe_1.FileValidationPipe())), + __param(1, (0, common_1.Body)()), + __param(2, (0, common_1.Param)('idPlace')), + __param(3, (0, common_1.Req)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, update_place_req_dto_1.UpdatePlaceReqDto, Number, Object]), + __metadata("design:returntype", Promise) +], PlaceController.prototype, "update", null); +__decorate([ + (0, common_1.Get)('open/:idTown/:lang'), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, swagger_1.ApiConsumes)('json'), + (0, common_1.UseGuards)(authUser_guard_1.AuthUserGuard), + (0, swagger_1.ApiParam)({ name: 'idTown', type: Number }), + __param(0, (0, common_1.Param)('idTown')), + __param(1, (0, common_1.Param)('lang')), + __param(2, (0, common_1.Req)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Number, String, Object]), + __metadata("design:returntype", Promise) +], PlaceController.prototype, "findOpenPlaces", null); +exports.PlaceController = PlaceController = __decorate([ + (0, common_1.Controller)('place'), + (0, swagger_1.ApiTags)('Place'), + __metadata("design:paramtypes", [place_service_1.PlaceService]) +], PlaceController); +//# sourceMappingURL=place.controller.js.map \ No newline at end of file diff --git a/backend/dist/place/place.controller.js.map b/backend/dist/place/place.controller.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e1007c830ae21339763876e749e0067388ce6141 --- /dev/null +++ b/backend/dist/place/place.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"place.controller.js","sourceRoot":"","sources":["../../src/place/place.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/place/place.module.d.ts b/backend/dist/place/place.module.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..bc832766376cacdfaa2fdf6747f0caf6489dbc95 --- /dev/null +++ b/backend/dist/place/place.module.d.ts @@ -0,0 +1,2 @@ +export declare class PlaceModule { +} diff --git a/backend/dist/place/place.module.js b/backend/dist/place/place.module.js new file mode 100644 index 0000000000000000000000000000000000000000..ae9acc935f0395738ae8315003d1d71df6418647 --- /dev/null +++ b/backend/dist/place/place.module.js @@ -0,0 +1,75 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PlaceModule = void 0; +const common_1 = require("@nestjs/common"); +const place_service_1 = require("./place.service"); +const place_controller_1 = require("./place.controller"); +const typeorm_1 = require("@nestjs/typeorm"); +const place_entity_1 = require("./entities/place.entity"); +const available_date_entity_1 = require("./entities/available-date.entity"); +const place_traduction_entity_1 = require("./entities/place-traduction.entity"); +const town_entity_1 = require("../town/entities/town.entity"); +const town_service_1 = require("../town/town.service"); +const town_traduction_entity_1 = require("../town/entities/town-traduction.entity"); +const state_service_1 = require("../state/state.service"); +const state_entity_1 = require("../state/entities/state.entity"); +const authAdmin_service_1 = require("../auth/admin/authAdmin.service"); +const admin_service_1 = require("../admin/admin.service"); +const jwt_1 = require("@nestjs/jwt"); +const encryption_service_1 = require("../auth/encryption/encryption.service"); +const admin_entity_1 = require("../admin/entities/admin.entity"); +const admin_reset_code_entity_1 = require("../auth/admin/entitites/admin-reset-code.entity"); +const authUserservice_1 = require("../auth/user/authUserservice"); +const user_reset_code_entity_1 = require("../auth/user/entities/user-reset-code.entity"); +const user_confirm_code_entity_1 = require("../auth/user/entities/user-confirm-code.entity"); +const user_service_1 = require("../user/user.service"); +const email_service_1 = require("../email/email.service"); +const user_entity_1 = require("../user/entities/user.entity"); +const category_service_1 = require("../category/category.service"); +const category_entity_1 = require("../category/entities/category.entity"); +let PlaceModule = class PlaceModule { +}; +exports.PlaceModule = PlaceModule; +exports.PlaceModule = PlaceModule = __decorate([ + (0, common_1.Module)({ + controllers: [place_controller_1.PlaceController], + providers: [ + place_service_1.PlaceService, + town_service_1.TownService, + state_service_1.StateService, + authAdmin_service_1.AuthAdminService, + admin_service_1.AdminService, + jwt_1.JwtService, + encryption_service_1.EncryptionService, + town_service_1.TownService, + authUserservice_1.AuthUserService, + user_service_1.UserService, + email_service_1.EmailService, + category_service_1.CategoryService, + ], + imports: [ + typeorm_1.TypeOrmModule.forFeature([ + place_entity_1.Place, + available_date_entity_1.AvailableDate, + place_traduction_entity_1.PlaceTraduction, + town_entity_1.Town, + town_traduction_entity_1.TownTraduction, + state_entity_1.State, + admin_entity_1.Admin, + admin_reset_code_entity_1.AdminResetCode, + user_reset_code_entity_1.UserResetCode, + user_confirm_code_entity_1.UserConfirmCode, + user_entity_1.User, + category_entity_1.Category, + ]), + typeorm_1.TypeOrmModule, + ], + }) +], PlaceModule); +//# sourceMappingURL=place.module.js.map \ No newline at end of file diff --git a/backend/dist/place/place.module.js.map b/backend/dist/place/place.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..3104fd909613332dc4bdf7ded3b0ed471f15c153 --- /dev/null +++ b/backend/dist/place/place.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"place.module.js","sourceRoot":"","sources":["../../src/place/place.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,mDAA+C;AAC/C,yDAAqD;AACrD,6CAAgD;AAChD,0DAAgD;AAChD,4EAAiE;AACjE,gFAAqE;AACrE,8DAAqD;AACrD,uDAAoD;AACpD,oFAA0E;AAC1E,0DAAuD;AACvD,iEAAwD;AACxD,uEAAoE;AACpE,0DAAuD;AACvD,qCAAyC;AACzC,8EAA2E;AAC3E,iEAAwD;AACxD,6FAAkF;AAClF,kEAAgE;AAChE,yFAA8E;AAC9E,6FAAkF;AAClF,uDAAoD;AACpD,0DAAuD;AACvD,8DAAqD;AACrD,mEAAgE;AAChE,0EAAiE;AAoC1D,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IAlCvB,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,kCAAe,CAAC;QAC9B,SAAS,EAAE;YACT,4BAAY;YACZ,0BAAW;YACX,4BAAY;YACZ,oCAAgB;YAChB,4BAAY;YACZ,gBAAU;YACV,sCAAiB;YACjB,0BAAW;YACX,iCAAe;YACf,0BAAW;YACX,4BAAY;YACZ,kCAAe;SAChB;QACD,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,oBAAK;gBACL,qCAAa;gBACb,yCAAe;gBACf,kBAAI;gBACJ,uCAAc;gBACd,oBAAK;gBACL,oBAAK;gBACL,wCAAc;gBACd,sCAAa;gBACb,0CAAe;gBACf,kBAAI;gBACJ,0BAAQ;aACT,CAAC;YACF,uBAAa;SACd;KACF,CAAC;GACW,WAAW,CAAG"} \ No newline at end of file diff --git a/backend/dist/place/place.service.d.ts b/backend/dist/place/place.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..1bdeebfa75cd07eba3e1ab4b9237285e54c4d3d2 --- /dev/null +++ b/backend/dist/place/place.service.d.ts @@ -0,0 +1,25 @@ +import { CreatePlaceDateTradDto } from './dto/create-place-date.dto'; +import { Place } from './entities/place.entity'; +import { DataSource, Repository } from 'typeorm'; +import { AvailableDate } from './entities/available-date.entity'; +import { PlaceTraduction } from './entities/place-traduction.entity'; +import { LANGUAGES } from 'src/shared/enum/languages.enum'; +import { Town } from 'src/town/entities/town.entity'; +import { GetPlaceDto } from './dto/get-place.dto'; +import { UpdatePlaceReqDto } from './dto/update-place.req.dto'; +export declare class PlaceService { + private placeRepository; + private availableDateRepository; + private placeTraductionRepository; + private townRepository; + private dataSource; + constructor(placeRepository: Repository, availableDateRepository: Repository, placeTraductionRepository: Repository, townRepository: Repository, dataSource: DataSource); + create(createPlaceDto: CreatePlaceDateTradDto): Promise; + findAllByTown(idTown: number, lang: LANGUAGES): Promise; + findOne(id: number): Promise; + findOneAndTradAndAvailable(idPlace: number, lang: LANGUAGES): Promise; + update(idPlace: number, updatePlaceReqDto: UpdatePlaceReqDto): Promise; + findPlacesNotVisitedByUser(email: string, lang: LANGUAGES, idTown: number): Promise; + findPlacesNotVisitedByUserAndOpen(email: string, lang: LANGUAGES, idTown: number): Promise; + findPlacesNotVisitedByUserAndOpenResponse(email: string, lang: LANGUAGES, idTown: number): Promise; +} diff --git a/backend/dist/place/place.service.js b/backend/dist/place/place.service.js new file mode 100644 index 0000000000000000000000000000000000000000..c8e25ff2b4a631fa716cdbbf9a72bca3c4cbd0e2 --- /dev/null +++ b/backend/dist/place/place.service.js @@ -0,0 +1,262 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PlaceService = void 0; +const common_1 = require("@nestjs/common"); +const typeorm_1 = require("@nestjs/typeorm"); +const place_entity_1 = require("./entities/place.entity"); +const typeorm_2 = require("typeorm"); +const available_date_entity_1 = require("./entities/available-date.entity"); +const place_traduction_entity_1 = require("./entities/place-traduction.entity"); +const languages_enum_1 = require("../shared/enum/languages.enum"); +const town_entity_1 = require("../town/entities/town.entity"); +const server_contants_1 = require("../constants/server.contants"); +const available_enum_1 = require("../pointOfInterest/enum/available.enum"); +const category_entity_1 = require("../category/entities/category.entity"); +const visited_entity_1 = require("../visited/entities/visited.entity"); +const isPlaceOpen_1 = require("./utils/isPlaceOpen"); +let PlaceService = class PlaceService { + constructor(placeRepository, availableDateRepository, placeTraductionRepository, townRepository, dataSource) { + this.placeRepository = placeRepository; + this.availableDateRepository = availableDateRepository; + this.placeTraductionRepository = placeTraductionRepository; + this.townRepository = townRepository; + this.dataSource = dataSource; + } + async create(createPlaceDto) { + const town = await this.townRepository.findOneBy({ townId: createPlaceDto.idTown }); + const categories = []; + for (const categoryId of createPlaceDto.categoriesId) { + const categoryEN = await this.dataSource + .getRepository(category_entity_1.Category) + .findOneByOrFail({ idCategory: categoryId }); + categoryEN.language = languages_enum_1.LANGUAGES.EN; + const categoryES = { ...categoryEN, language: languages_enum_1.LANGUAGES.ES }; + categories.push(categoryEN); + categories.push(categoryES); + } + const createPlace = { + available: createPlaceDto.available, + closeAt: createPlaceDto.closeAt, + latitude: createPlaceDto.latitude, + longitude: createPlaceDto.longitude, + town: town, + name: createPlaceDto.name, + openAt: createPlaceDto.openAt, + imageName: createPlaceDto.image.filename, + categories: categories, + address: createPlaceDto.address, + }; + if (!town) { + throw new common_1.BadRequestException('Town not found'); + } + const insertedPlace = await this.placeRepository.save({ ...createPlace }); + const createDate = { + endDate: createPlaceDto.endDate, + startDate: createPlaceDto.startDate, + idPlace: insertedPlace, + }; + const createTradEn = { + language: languages_enum_1.LANGUAGES.EN, + idPlace: insertedPlace.idPlace, + description: createPlaceDto.descriptionEN, + }; + const createTradEs = { + language: languages_enum_1.LANGUAGES.ES, + idPlace: insertedPlace.idPlace, + description: createPlaceDto.descriptionES, + }; + await this.placeTraductionRepository.insert(createTradEs); + await this.placeTraductionRepository.insert(createTradEn); + if (createPlaceDto.available === available_enum_1.Available.CUSTOM) { + await this.availableDateRepository.insert({ + ...createDate, + place: insertedPlace, + idPlace: insertedPlace.idPlace, + }); + } + } + async findAllByTown(idTown, lang) { + const res = await this.dataSource + .getRepository(place_entity_1.Place) + .createQueryBuilder('place') + .leftJoinAndSelect('place.availableDates', 'availableDate') + .leftJoinAndSelect('place.categories', 'category') + .leftJoinAndSelect('place.placeTraduction', 'placeTrad') + .leftJoinAndSelect('place.town', 'town') + .where('place.idTown = :idTown', { idTown: idTown }) + .andWhere('placeTrad.language = :language', { language: lang }) + .andWhere('category.language = :language', { language: lang }) + .getMany(); + const places = res.map((place) => { + return { + idTown: place.town.townId, + idPlace: place.idPlace, + available: place.available, + latitude: place.latitude, + longitude: place.longitude, + imageName: `${server_contants_1.ServerConstants.HOST}/places/${place.imageName}`, + name: place.name, + openAt: place.openAt, + closeAt: place.closeAt, + startDate: place.availableDates[0]?.startDate || null, + endDate: place.availableDates[0]?.endDate || null, + categories: place.categories, + description: place.placeTraduction[0].description, + address: place.address, + }; + }); + return places; + } + async findOne(id) { + return await this.placeRepository.findOneBy({ idPlace: id }); + } + async findOneAndTradAndAvailable(idPlace, lang) { + const place = await this.dataSource + .getRepository(place_entity_1.Place) + .createQueryBuilder('place') + .leftJoinAndSelect('place.availableDates', 'availableDate') + .leftJoinAndSelect('place.categories', 'category') + .leftJoinAndSelect('place.placeTraduction', 'placeTrad') + .leftJoinAndSelect('place.town', 'town') + .where('place.idPlace = :idPlace', { idPlace }) + .andWhere('placeTrad.language = :language', { language: lang }) + .andWhere('category.language = :language', { language: lang }) + .getOne(); + const res = { + idTown: place.town.townId, + idPlace: place.idPlace, + available: place.available, + latitude: place.latitude, + longitude: place.longitude, + imageName: `${server_contants_1.ServerConstants.HOST}/places/${place.imageName}`, + name: place.name, + openAt: place.openAt, + closeAt: place.closeAt, + startDate: place.availableDates[0]?.startDate, + endDate: place.availableDates[0]?.endDate, + categories: place.categories, + description: place.placeTraduction[0].description, + address: place.address, + }; + return res; + } + async update(idPlace, updatePlaceReqDto) { + const place = await this.placeRepository.findOne({ + where: { idPlace }, + relations: ['categories'], + }); + if (!place) { + throw new common_1.NotFoundException('Place not found'); + } + place.available = updatePlaceReqDto.available; + place.closeAt = updatePlaceReqDto.closeAt; + place.latitude = updatePlaceReqDto.latitude; + place.longitude = updatePlaceReqDto.longitude; + place.name = updatePlaceReqDto.name; + place.openAt = updatePlaceReqDto.openAt; + place.imageName = updatePlaceReqDto.image.filename; + place.address = updatePlaceReqDto.address; + const categories = []; + for (const categoryId of updatePlaceReqDto.categoriesId) { + const categoryEN = await this.dataSource + .getRepository(category_entity_1.Category) + .findOneByOrFail({ idCategory: categoryId }); + categoryEN.language = languages_enum_1.LANGUAGES.EN; + const categoryES = { ...categoryEN, language: languages_enum_1.LANGUAGES.ES }; + categories.push(categoryEN); + categories.push(categoryES); + } + place.categories = categories; + await this.placeRepository.save(place); + await this.placeTraductionRepository + .createQueryBuilder() + .update(place_traduction_entity_1.PlaceTraduction) + .set({ description: updatePlaceReqDto.descriptionEN }) + .where('idPlace = :idPlace AND language = :language', { idPlace, language: languages_enum_1.LANGUAGES.EN }) + .execute(); + await this.placeTraductionRepository + .createQueryBuilder() + .update(place_traduction_entity_1.PlaceTraduction) + .set({ description: updatePlaceReqDto.descriptionES }) + .where('idPlace = :idPlace AND language = :language', { idPlace, language: languages_enum_1.LANGUAGES.ES }) + .execute(); + if (updatePlaceReqDto.available === available_enum_1.Available.CUSTOM) { + await this.availableDateRepository.upsert({ + idPlace: place.idPlace, + place: place, + startDate: updatePlaceReqDto.startDate, + endDate: updatePlaceReqDto.endDate, + }, ['idPlace']); + } + } + async findPlacesNotVisitedByUser(email, lang, idTown) { + const places = await this.findAllByTown(idTown, lang); + const visited = await this.dataSource + .getRepository(visited_entity_1.Visited) + .createQueryBuilder('visited') + .leftJoinAndSelect('visited.place', 'place') + .where('visited.user = :email', { email }) + .getMany(); + const visitedIds = visited.map((visit) => visit.place.idPlace); + return places.filter((place) => !visitedIds.includes(place.idPlace)); + } + async findPlacesNotVisitedByUserAndOpen(email, lang, idTown) { + const places = await this.findPlacesNotVisitedByUser(email, lang, idTown); + const placesWithAvailability = await Promise.all(places.map(async (place) => { + if (place.available === available_enum_1.Available.CUSTOM) { + const availableDate = await this.availableDateRepository.findOneBy({ place }); + const isOpen = (0, isPlaceOpen_1.isPlaceOpen)(place.available, availableDate?.startDate, availableDate?.endDate); + return isOpen ? place : null; + } + else { + return (0, isPlaceOpen_1.isPlaceOpen)(place.available, null, null) ? place : null; + } + })); + return placesWithAvailability.filter((place) => place !== null); + } + async findPlacesNotVisitedByUserAndOpenResponse(email, lang, idTown) { + const places = await this.findPlacesNotVisitedByUserAndOpen(email, lang, idTown); + const placesResponse = []; + for (const place of places) { + const visited = await this.dataSource + .getRepository(visited_entity_1.Visited) + .createQueryBuilder('visited') + .leftJoinAndSelect('visited.place', 'place') + .where('visited.user = :email', { email }) + .andWhere('place.idPlace = :idPlace', { idPlace: place.idPlace }) + .getOne(); + placesResponse.push({ + ...place, + visited: visited ? true : false, + }); + } + return placesResponse; + } +}; +exports.PlaceService = PlaceService; +exports.PlaceService = PlaceService = __decorate([ + (0, common_1.Injectable)(), + __param(0, (0, typeorm_1.InjectRepository)(place_entity_1.Place)), + __param(1, (0, typeorm_1.InjectRepository)(available_date_entity_1.AvailableDate)), + __param(2, (0, typeorm_1.InjectRepository)(place_traduction_entity_1.PlaceTraduction)), + __param(3, (0, typeorm_1.InjectRepository)(town_entity_1.Town)), + __param(4, (0, typeorm_1.InjectDataSource)()), + __metadata("design:paramtypes", [typeorm_2.Repository, + typeorm_2.Repository, + typeorm_2.Repository, + typeorm_2.Repository, + typeorm_2.DataSource]) +], PlaceService); +//# sourceMappingURL=place.service.js.map \ No newline at end of file diff --git a/backend/dist/place/place.service.js.map b/backend/dist/place/place.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..77a4f81cc43c274059bcf4e62874a0d189ca5f9f --- /dev/null +++ b/backend/dist/place/place.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"place.service.js","sourceRoot":"","sources":["../../src/place/place.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/place/utils/isPlaceOpen.d.ts b/backend/dist/place/utils/isPlaceOpen.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..43f7a9dc652a609f7409702a251aabfdacbfa705 --- /dev/null +++ b/backend/dist/place/utils/isPlaceOpen.d.ts @@ -0,0 +1,2 @@ +import { Available } from 'src/pointOfInterest/enum/available.enum'; +export declare const isPlaceOpen: (available: Available, startDate?: Date, endDate?: Date) => boolean; diff --git a/backend/dist/place/utils/isPlaceOpen.js b/backend/dist/place/utils/isPlaceOpen.js new file mode 100644 index 0000000000000000000000000000000000000000..67e97850b553ea54803dbd14a8eff5e36cd96535 --- /dev/null +++ b/backend/dist/place/utils/isPlaceOpen.js @@ -0,0 +1,14 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.isPlaceOpen = void 0; +const available_enum_1 = require("../../pointOfInterest/enum/available.enum"); +const isPlaceOpen = (available, startDate, endDate) => { + const curDayName = new Date().toLocaleDateString('en-US', { weekday: 'long' }); + if (available !== available_enum_1.Available.CUSTOM) { + return available_enum_1.availableToDays[available].includes(curDayName); + } + const curDate = new Date(); + return curDate >= startDate && curDate <= endDate; +}; +exports.isPlaceOpen = isPlaceOpen; +//# sourceMappingURL=isPlaceOpen.js.map \ No newline at end of file diff --git a/backend/dist/place/utils/isPlaceOpen.js.map b/backend/dist/place/utils/isPlaceOpen.js.map new file mode 100644 index 0000000000000000000000000000000000000000..bc89b5c114909e3a6005e4b7ee4ea78f6faead93 --- /dev/null +++ b/backend/dist/place/utils/isPlaceOpen.js.map @@ -0,0 +1 @@ +{"version":3,"file":"isPlaceOpen.js","sourceRoot":"","sources":["../../../src/place/utils/isPlaceOpen.ts"],"names":[],"mappings":";;;AAAA,8EAAqF;AAE9E,MAAM,WAAW,GAAG,CAAC,SAAoB,EAAE,SAAgB,EAAE,OAAc,EAAW,EAAE;IAC7F,MAAM,UAAU,GAAW,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACvF,IAAI,SAAS,KAAK,0BAAS,CAAC,MAAM,EAAE,CAAC;QACnC,OAAO,gCAAe,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,OAAO,GAAS,IAAI,IAAI,EAAE,CAAC;IACjC,OAAO,OAAO,IAAI,SAAS,IAAI,OAAO,IAAI,OAAO,CAAC;AACpD,CAAC,CAAC;AAPW,QAAA,WAAW,eAOtB"} \ No newline at end of file diff --git a/backend/dist/pointOfInterest/PointOfInterest.controller.d.ts b/backend/dist/pointOfInterest/PointOfInterest.controller.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..06a4b40273a94c193dd4f8216e3d8485c7395230 --- /dev/null +++ b/backend/dist/pointOfInterest/PointOfInterest.controller.d.ts @@ -0,0 +1,12 @@ +import { StreamableFile } from '@nestjs/common'; +import { PointOfInterestService } from './PointOfInterest.service'; +import { CreatePointAndTradDto } from './dto/create-pointAndTraduction.dto'; +export declare class PointOfInterestController { + private readonly pointService; + constructor(pointService: PointOfInterestService); + create(file: any, createActivityDto: CreatePointAndTradDto): Promise; + findAllByPlace(idPlace: number, lang: string): Promise; + getAudio(idPoint: number, lang: string): Promise; + findOne(idPoint: number, lang: string): Promise; + generatePdf(idPlace: number, pointsIdString: string, res: any): Promise; +} diff --git a/backend/dist/pointOfInterest/PointOfInterest.controller.js b/backend/dist/pointOfInterest/PointOfInterest.controller.js new file mode 100644 index 0000000000000000000000000000000000000000..3e92cf9b6e6fb59e0ceb348900587be5e60f3bd8 --- /dev/null +++ b/backend/dist/pointOfInterest/PointOfInterest.controller.js @@ -0,0 +1,117 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PointOfInterestController = void 0; +const common_1 = require("@nestjs/common"); +const PointOfInterest_service_1 = require("./PointOfInterest.service"); +const create_pointAndTraduction_dto_1 = require("./dto/create-pointAndTraduction.dto"); +const swagger_1 = require("@nestjs/swagger"); +const role_decorator_1 = require("../auth/role.decorator"); +const admin_role_enum_1 = require("../shared/enum/admin-role.enum"); +const file_save_interceptor_1 = require("../shared/interceptors/file-save.interceptor"); +const file_validation_pipe_1 = require("../shared/pipe/file-validation.pipe"); +const authAdmin_guard_1 = require("../auth/admin/authAdmin.guard"); +let PointOfInterestController = class PointOfInterestController { + constructor(pointService) { + this.pointService = pointService; + } + async create(file, createActivityDto) { + try { + createActivityDto.image = file.filename; + return await this.pointService.create(createActivityDto); + } + catch (error) { + throw error; + } + } + async findAllByPlace(idPlace, lang) { + return this.pointService.findAllByPlace(idPlace, lang); + } + async getAudio(idPoint, lang) { + const file = await this.pointService.getAudio(idPoint, lang); + return file; + } + async findOne(idPoint, lang) { + return await this.pointService.findOne(idPoint, lang); + } + async generatePdf(idPlace, pointsIdString, res) { + const pointsId = pointsIdString.split(',').map(Number); + const pdfBuffer = await this.pointService.generatePdf(idPlace, pointsId); + res.set({ + 'Content-Type': 'application/pdf', + 'Content-Disposition': 'attachment; filename=tarjetas.pdf', + 'Content-Length': pdfBuffer.length, + }); + res.send(pdfBuffer); + } +}; +exports.PointOfInterestController = PointOfInterestController; +__decorate([ + (0, swagger_1.ApiConsumes)('multipart/form-data'), + (0, common_1.UseGuards)(authAdmin_guard_1.AuthAdminGuard), + (0, role_decorator_1.Roles)(admin_role_enum_1.ADMIN_ROLES), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, common_1.Post)('point'), + (0, common_1.UseInterceptors)((0, file_save_interceptor_1.fileInterceptor)('image', 'static/points/', ['.jpg', '.jpeg', '.png'])), + __param(0, (0, common_1.UploadedFile)(new file_validation_pipe_1.FileValidationPipe())), + __param(1, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, create_pointAndTraduction_dto_1.CreatePointAndTradDto]), + __metadata("design:returntype", Promise) +], PointOfInterestController.prototype, "create", null); +__decorate([ + (0, swagger_1.ApiQuery)({ name: 'lang', type: String }), + (0, swagger_1.ApiParam)({ name: 'idPlace', type: Number }), + (0, common_1.Get)('/place/:idPlace/point'), + __param(0, (0, common_1.Param)('idPlace')), + __param(1, (0, common_1.Query)('lang')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Number, String]), + __metadata("design:returntype", Promise) +], PointOfInterestController.prototype, "findAllByPlace", null); +__decorate([ + (0, swagger_1.ApiQuery)({ name: 'lang', type: String }), + (0, common_1.Get)('point/:idPoint/audio'), + __param(0, (0, common_1.Param)('idPoint')), + __param(1, (0, common_1.Query)('lang')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Number, String]), + __metadata("design:returntype", Promise) +], PointOfInterestController.prototype, "getAudio", null); +__decorate([ + (0, common_1.Get)('point/:idPoint'), + (0, swagger_1.ApiQuery)({ name: 'lang', type: String }), + __param(0, (0, common_1.Param)('idPoint')), + __param(1, (0, common_1.Query)('lang')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Number, String]), + __metadata("design:returntype", Promise) +], PointOfInterestController.prototype, "findOne", null); +__decorate([ + (0, swagger_1.ApiParam)({ name: 'idPlace', type: Number }), + (0, swagger_1.ApiQuery)({ name: 'pointsId', type: String }), + (0, common_1.Get)('/place/:idPlace/point/generate'), + __param(0, (0, common_1.Param)('idPlace')), + __param(1, (0, common_1.Query)('pointsId')), + __param(2, (0, common_1.Res)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Number, String, Object]), + __metadata("design:returntype", Promise) +], PointOfInterestController.prototype, "generatePdf", null); +exports.PointOfInterestController = PointOfInterestController = __decorate([ + (0, common_1.Controller)(''), + (0, swagger_1.ApiTags)('Point of interest'), + __metadata("design:paramtypes", [PointOfInterest_service_1.PointOfInterestService]) +], PointOfInterestController); +//# sourceMappingURL=PointOfInterest.controller.js.map \ No newline at end of file diff --git a/backend/dist/pointOfInterest/PointOfInterest.controller.js.map b/backend/dist/pointOfInterest/PointOfInterest.controller.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5940423f5e82d9df8457456de51fe2d90731fb24 --- /dev/null +++ b/backend/dist/pointOfInterest/PointOfInterest.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PointOfInterest.controller.js","sourceRoot":"","sources":["../../src/pointOfInterest/PointOfInterest.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/pointOfInterest/PointOfInterest.module.d.ts b/backend/dist/pointOfInterest/PointOfInterest.module.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..7dbd068cf4d25e9c9a9fda451f8b7fc7c45f93d4 --- /dev/null +++ b/backend/dist/pointOfInterest/PointOfInterest.module.d.ts @@ -0,0 +1,2 @@ +export declare class PointOfInterestModule { +} diff --git a/backend/dist/pointOfInterest/PointOfInterest.module.js b/backend/dist/pointOfInterest/PointOfInterest.module.js new file mode 100644 index 0000000000000000000000000000000000000000..c52b7cad326ee34cb8db136a362567aac7c01d5f --- /dev/null +++ b/backend/dist/pointOfInterest/PointOfInterest.module.js @@ -0,0 +1,48 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PointOfInterestModule = void 0; +const common_1 = require("@nestjs/common"); +const PointOfInterest_service_1 = require("./PointOfInterest.service"); +const PointOfInterest_controller_1 = require("./PointOfInterest.controller"); +const typeorm_1 = require("@nestjs/typeorm"); +const PointOfInterest_entity_1 = require("./entities/PointOfInterest.entity"); +const PointOfInterestTraduction_entity_1 = require("./entities/PointOfInterestTraduction.entity"); +const place_service_1 = require("../place/place.service"); +const place_entity_1 = require("../place/entities/place.entity"); +const available_date_entity_1 = require("../place/entities/available-date.entity"); +const place_traduction_entity_1 = require("../place/entities/place-traduction.entity"); +const town_entity_1 = require("../town/entities/town.entity"); +const authAdmin_service_1 = require("../auth/admin/authAdmin.service"); +const jwt_1 = require("@nestjs/jwt"); +const encryption_service_1 = require("../auth/encryption/encryption.service"); +const admin_service_1 = require("../admin/admin.service"); +const admin_entity_1 = require("../admin/entities/admin.entity"); +const admin_reset_code_entity_1 = require("../auth/admin/entitites/admin-reset-code.entity"); +let PointOfInterestModule = class PointOfInterestModule { +}; +exports.PointOfInterestModule = PointOfInterestModule; +exports.PointOfInterestModule = PointOfInterestModule = __decorate([ + (0, common_1.Module)({ + controllers: [PointOfInterest_controller_1.PointOfInterestController], + providers: [PointOfInterest_service_1.PointOfInterestService, place_service_1.PlaceService, admin_service_1.AdminService, authAdmin_service_1.AuthAdminService, jwt_1.JwtService, encryption_service_1.EncryptionService], + imports: [ + typeorm_1.TypeOrmModule.forFeature([ + PointOfInterest_entity_1.PointOfInterest, + PointOfInterestTraduction_entity_1.PointOfInterestTraduction, + place_entity_1.Place, + available_date_entity_1.AvailableDate, + place_traduction_entity_1.PlaceTraduction, + town_entity_1.Town, + admin_entity_1.Admin, + admin_reset_code_entity_1.AdminResetCode, + ]), + ], + }) +], PointOfInterestModule); +//# sourceMappingURL=PointOfInterest.module.js.map \ No newline at end of file diff --git a/backend/dist/pointOfInterest/PointOfInterest.module.js.map b/backend/dist/pointOfInterest/PointOfInterest.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ba47ca833ee013fcb045e4b6eeaae217ff55bdbc --- /dev/null +++ b/backend/dist/pointOfInterest/PointOfInterest.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PointOfInterest.module.js","sourceRoot":"","sources":["../../src/pointOfInterest/PointOfInterest.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,uEAAmE;AACnE,6EAAyE;AACzE,6CAAgD;AAChD,8EAAoE;AACpE,kGAAwF;AACxF,0DAAuD;AACvD,iEAAwD;AACxD,mFAAyE;AACzE,uFAA6E;AAC7E,8DAAqD;AACrD,uEAAoE;AACpE,qCAAyC;AACzC,8EAA2E;AAC3E,0DAAuD;AACvD,iEAAwD;AACxD,6FAAkF;AAkB3E,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;CAAG,CAAA;AAAxB,sDAAqB;gCAArB,qBAAqB;IAhBjC,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,sDAAyB,CAAC;QACxC,SAAS,EAAE,CAAC,gDAAsB,EAAE,4BAAY,EAAE,4BAAY,EAAE,oCAAgB,EAAE,gBAAU,EAAE,sCAAiB,CAAC;QAChH,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,wCAAe;gBACf,4DAAyB;gBACzB,oBAAK;gBACL,qCAAa;gBACb,yCAAe;gBACf,kBAAI;gBACJ,oBAAK;gBACL,wCAAc;aACf,CAAC;SACH;KACF,CAAC;GACW,qBAAqB,CAAG"} \ No newline at end of file diff --git a/backend/dist/pointOfInterest/PointOfInterest.service.d.ts b/backend/dist/pointOfInterest/PointOfInterest.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..67c09ac3aa12f86fe81a1f4dc5afac511e21099a --- /dev/null +++ b/backend/dist/pointOfInterest/PointOfInterest.service.d.ts @@ -0,0 +1,26 @@ +/// +import { StreamableFile } from '@nestjs/common'; +import { CreatePointAndTradDto } from './dto/create-pointAndTraduction.dto'; +import { PointOfInterest } from './entities/PointOfInterest.entity'; +import { DataSource, Repository } from 'typeorm'; +import { PlaceService } from 'src/place/place.service'; +import { LANGUAGES } from 'src/shared/enum/languages.enum'; +import { getPointDto } from './dto/getPoint.dto'; +import { Place } from 'src/place/entities/place.entity'; +import { printPointInfo } from './dto/printPointInfo.dto'; +export declare class PointOfInterestService { + private pointRepository; + private pointTraductionRepository; + private readonly placeService; + private placeRepository; + private dataSource; + constructor(pointRepository: Repository, pointTraductionRepository: any, placeService: PlaceService, placeRepository: Repository, dataSource: DataSource); + create(createPointAndTradDto: CreatePointAndTradDto): Promise; + findAllByPlace(idPlace: number, lang: LANGUAGES): Promise; + getAudio(idPoint: number, lang: LANGUAGES): Promise; + private convertTextToSpeech; + findOne(idPoint: number, lang: LANGUAGES): Promise; + findAllByIds(idPlace: number, pointsId: number[]): Promise; + generatePdf(idPlace: number, pointsId: number[]): Promise; + private generateHtml; +} diff --git a/backend/dist/pointOfInterest/PointOfInterest.service.js b/backend/dist/pointOfInterest/PointOfInterest.service.js new file mode 100644 index 0000000000000000000000000000000000000000..5a771339248840a64a23098a89b02f5af5197457 --- /dev/null +++ b/backend/dist/pointOfInterest/PointOfInterest.service.js @@ -0,0 +1,301 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PointOfInterestService = void 0; +const common_1 = require("@nestjs/common"); +const typeorm_1 = require("@nestjs/typeorm"); +const PointOfInterest_entity_1 = require("./entities/PointOfInterest.entity"); +const typeorm_2 = require("typeorm"); +const PointOfInterestTraduction_entity_1 = require("./entities/PointOfInterestTraduction.entity"); +const place_service_1 = require("../place/place.service"); +const languages_enum_1 = require("../shared/enum/languages.enum"); +const server_contants_1 = require("../constants/server.contants"); +const fs_1 = require("fs"); +const path_1 = require("path"); +const qrcode_1 = require("./utils/qrcode"); +const place_entity_1 = require("../place/entities/place.entity"); +const puppeteer_1 = require("puppeteer"); +const fs = require("fs"); +const axios_1 = require("axios"); +const uuid = require("uuid"); +const google_constants_1 = require("../constants/google.constants"); +let PointOfInterestService = class PointOfInterestService { + constructor(pointRepository, pointTraductionRepository, placeService, placeRepository, dataSource) { + this.pointRepository = pointRepository; + this.pointTraductionRepository = pointTraductionRepository; + this.placeService = placeService; + this.placeRepository = placeRepository; + this.dataSource = dataSource; + } + async create(createPointAndTradDto) { + const placeRelation = await this.placeRepository.findOne({ + where: { idPlace: createPointAndTradDto.idPlace }, + relations: ['town'], + }); + const place = await this.placeService.findOne(createPointAndTradDto.idPlace); + if (!place) { + throw new common_1.BadRequestException('Place not found'); + } + const createPointDto = { + name: createPointAndTradDto.name, + imageName: createPointAndTradDto.image, + idPlace: place, + }; + const insertedId = (await this.pointRepository.insert(createPointDto)).raw.insertId; + const spanishAudio = await this.convertTextToSpeech(`${createPointAndTradDto.contentES}\n${createPointAndTradDto.directionsES || ''}`, languages_enum_1.LANGUAGES.ES); + const englishAudio = await this.convertTextToSpeech(`${createPointAndTradDto.contentEN}\n${createPointAndTradDto.directionsEN || ''}`, languages_enum_1.LANGUAGES.EN); + const createTradEn = { + idPoint: insertedId, + language: languages_enum_1.LANGUAGES.EN, + content: createPointAndTradDto.contentEN, + audioName: englishAudio, + directions: createPointAndTradDto.directionsEN, + }; + const createTradEs = { + idPoint: insertedId, + language: languages_enum_1.LANGUAGES.ES, + content: createPointAndTradDto.contentES, + audioName: spanishAudio, + directions: createPointAndTradDto.directionsES, + }; + await this.pointTraductionRepository.insert(createTradEs); + await this.pointTraductionRepository.insert(createTradEn); + (0, qrcode_1.generateQRCode)(placeRelation.town.state.stateId, placeRelation.town.townId, placeRelation.idPlace, insertedId); + } + async findAllByPlace(idPlace, lang) { + const place = await this.placeService.findOne(idPlace); + if (!place) { + throw new common_1.BadRequestException('Place not found'); + } + let points = await this.dataSource + .getRepository(PointOfInterestTraduction_entity_1.PointOfInterestTraduction) + .createQueryBuilder('pointTrad') + .leftJoin('pointTrad.idPoint', 'point') + .select([ + 'point.idPoint as idPoint', + 'point.name as name', + 'point.imageName as imageName', + 'pointTrad.content as content', + 'pointTrad.directions as directions', + 'pointTrad.audioName as audioName', + 'point.idPlace as idPlace', + ]) + .where('point.idPlace = :idPlace', { idPlace }) + .andWhere('pointTrad.language = :lang', { lang }) + .getRawMany(); + points = points.map((point) => { + return { + idPoint: point.idPoint, + idPlace: point.idPlace, + name: point.name, + imageName: `${server_contants_1.ServerConstants.HOST}/points/${point.imageName}`, + content: point.content, + directions: point.directions, + }; + }); + return points; + } + async getAudio(idPoint, lang) { + const pointTrad = await this.pointTraductionRepository.findOneBy({ + idPoint, + language: lang, + }); + if (!pointTrad) { + throw new common_1.NotFoundException('Point not found'); + } + const filePath = (0, path_1.join)(server_contants_1.ServerConstants.ROOT_STATIC_PATH, 'audios', pointTrad.audioName); + const fileStream = (0, fs_1.createReadStream)(filePath); + return new common_1.StreamableFile(fileStream); + } + async convertTextToSpeech(text, lang) { + let languageCode = ''; + if (lang == languages_enum_1.LANGUAGES.EN) { + languageCode = 'en-gb'; + } + else { + languageCode = 'es-es'; + } + console.log(google_constants_1.GoogleConstants.GoogleTextToSpeechKey); + const url = `https://texttospeech.googleapis.com/v1/text:synthesize?key=${google_constants_1.GoogleConstants.GoogleTextToSpeechKey}`; + const requestBody = { + input: { text: text }, + voice: { + languageCode, + ssmlGender: 'NEUTRAL', + }, + audioConfig: { + audioEncoding: 'MP3', + }, + }; + try { + const response = await axios_1.default.post(url, requestBody); + const buffer = Buffer.from(response.data.audioContent, 'base64'); + const id = uuid.v4(); + const filename = `${id}.mp3`; + fs.writeFileSync(`static/audios/` + filename, buffer); + return filename; + } + catch (error) { + console.error('Error during API request:', error.response ? error.response.data : error.message); + } + } + async findOne(idPoint, lang) { + const pointTrad = await this.dataSource + .getRepository(PointOfInterestTraduction_entity_1.PointOfInterestTraduction) + .createQueryBuilder('pointTrad') + .leftJoin('pointTrad.idPoint', 'point') + .select([ + 'point.idPoint as idPoint', + 'point.name as name', + 'point.imageName as imageName', + 'pointTrad.content as content', + 'pointTrad.directions as directions', + 'pointTrad.audioName as audioName', + 'point.idPlace as idPlace', + ]) + .where('point.idPoint = :idPoint', { idPoint }) + .andWhere('pointTrad.language = :lang', { lang }) + .getRawOne(); + if (!pointTrad) { + throw new common_1.NotFoundException('Point not found'); + } + const point = { + idPoint: pointTrad.idPoint, + idPlace: pointTrad.idPlace, + name: pointTrad.name, + imageName: `${server_contants_1.ServerConstants.HOST}/points/${pointTrad.imageName}`, + content: pointTrad.content, + directions: pointTrad.directions, + }; + return point; + } + async findAllByIds(idPlace, pointsId) { + const place = await this.placeService.findOne(idPlace); + if (!place) { + throw new common_1.BadRequestException('Place not found'); + } + const points = await Promise.all(pointsId.map(async (idPoint) => { + const point = await this.dataSource + .getRepository(PointOfInterest_entity_1.PointOfInterest) + .createQueryBuilder('point') + .leftJoin('point.idPlace', 'place') + .select(['point.idPoint as idPoint', 'place.name as namePlace', 'point.name as name']) + .where('place.idPlace = :idPlace', { idPlace }) + .andWhere('point.idPoint = :idPoint', { idPoint }) + .getRawOne(); + return point; + })); + return points; + } + async generatePdf(idPlace, pointsId) { + const points = await this.findAllByIds(idPlace, pointsId); + const htmlContent = this.generateHtml(points); + const browser = await puppeteer_1.default.launch(); + const page = await browser.newPage(); + await page.setContent(htmlContent); + const pdfBuffer = await page.pdf({ + format: 'A4', + margin: { top: '10mm', bottom: '10mm', left: '10mm', right: '10mm' }, + }); + await browser.close(); + return Buffer.from(pdfBuffer); + } + generateHtml(points) { + let cardsHtml = ''; + for (const point of points) { + const filePath = (0, path_1.join)(server_contants_1.ServerConstants.ROOT_STATIC_PATH, 'qr', point.idPoint.toString() + '.png'); + cardsHtml += ` +
+ +
+

${point.namePlace}

+

${point.name}

+
+ +
+ `; + } + return ` + + + + Tarjetas en PDF + + + +
+ ${cardsHtml} +
+ + + `; + } +}; +exports.PointOfInterestService = PointOfInterestService; +exports.PointOfInterestService = PointOfInterestService = __decorate([ + (0, common_1.Injectable)(), + __param(0, (0, typeorm_1.InjectRepository)(PointOfInterest_entity_1.PointOfInterest)), + __param(1, (0, typeorm_1.InjectRepository)(PointOfInterestTraduction_entity_1.PointOfInterestTraduction)), + __param(3, (0, typeorm_1.InjectRepository)(place_entity_1.Place)), + __param(4, (0, typeorm_1.InjectDataSource)()), + __metadata("design:paramtypes", [typeorm_2.Repository, Object, place_service_1.PlaceService, + typeorm_2.Repository, + typeorm_2.DataSource]) +], PointOfInterestService); +//# sourceMappingURL=PointOfInterest.service.js.map \ No newline at end of file diff --git a/backend/dist/pointOfInterest/PointOfInterest.service.js.map b/backend/dist/pointOfInterest/PointOfInterest.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..365859d1c719c74e1f615393685767602c65470a --- /dev/null +++ b/backend/dist/pointOfInterest/PointOfInterest.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PointOfInterest.service.js","sourceRoot":"","sources":["../../src/pointOfInterest/PointOfInterest.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/pointOfInterest/dto/create-point.dto.d.ts b/backend/dist/pointOfInterest/dto/create-point.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..2c0895d869198bd940830712c8304542280d7208 --- /dev/null +++ b/backend/dist/pointOfInterest/dto/create-point.dto.d.ts @@ -0,0 +1,6 @@ +import { Place } from 'src/place/entities/place.entity'; +export declare class CreatePointDto { + idPlace: Place; + name: string; + imageName: string; +} diff --git a/backend/dist/pointOfInterest/dto/create-point.dto.js b/backend/dist/pointOfInterest/dto/create-point.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..8bc481bfe5807169c3d759ff3bb5e563304d889b --- /dev/null +++ b/backend/dist/pointOfInterest/dto/create-point.dto.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreatePointDto = void 0; +class CreatePointDto { +} +exports.CreatePointDto = CreatePointDto; +//# sourceMappingURL=create-point.dto.js.map \ No newline at end of file diff --git a/backend/dist/pointOfInterest/dto/create-point.dto.js.map b/backend/dist/pointOfInterest/dto/create-point.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5bd4f19d1e84cdb2be49343b51240597e735b90d --- /dev/null +++ b/backend/dist/pointOfInterest/dto/create-point.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-point.dto.js","sourceRoot":"","sources":["../../../src/pointOfInterest/dto/create-point.dto.ts"],"names":[],"mappings":";;;AAEA,MAAa,cAAc;CAI1B;AAJD,wCAIC"} \ No newline at end of file diff --git a/backend/dist/pointOfInterest/dto/create-pointAndTraduction.dto.d.ts b/backend/dist/pointOfInterest/dto/create-pointAndTraduction.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..91e166683c982b4753b45bd1e90785639e1c5872 --- /dev/null +++ b/backend/dist/pointOfInterest/dto/create-pointAndTraduction.dto.d.ts @@ -0,0 +1,9 @@ +export declare class CreatePointAndTradDto { + idPlace: number; + name: string; + image: any; + contentEN: string; + contentES: string; + directionsEN: string; + directionsES: string; +} diff --git a/backend/dist/pointOfInterest/dto/create-pointAndTraduction.dto.js b/backend/dist/pointOfInterest/dto/create-pointAndTraduction.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..87d236df0057c7d5c55df26fa5c381cbe7142cc8 --- /dev/null +++ b/backend/dist/pointOfInterest/dto/create-pointAndTraduction.dto.js @@ -0,0 +1,45 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreatePointAndTradDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +class CreatePointAndTradDto { +} +exports.CreatePointAndTradDto = CreatePointAndTradDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Number) +], CreatePointAndTradDto.prototype, "idPlace", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreatePointAndTradDto.prototype, "name", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ type: 'string', format: 'binary' }), + __metadata("design:type", Object) +], CreatePointAndTradDto.prototype, "image", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreatePointAndTradDto.prototype, "contentEN", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreatePointAndTradDto.prototype, "contentES", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreatePointAndTradDto.prototype, "directionsEN", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreatePointAndTradDto.prototype, "directionsES", void 0); +//# sourceMappingURL=create-pointAndTraduction.dto.js.map \ No newline at end of file diff --git a/backend/dist/pointOfInterest/dto/create-pointAndTraduction.dto.js.map b/backend/dist/pointOfInterest/dto/create-pointAndTraduction.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1b1e78d0221d230fb227f88702261c75090099e6 --- /dev/null +++ b/backend/dist/pointOfInterest/dto/create-pointAndTraduction.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-pointAndTraduction.dto.js","sourceRoot":"","sources":["../../../src/pointOfInterest/dto/create-pointAndTraduction.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,qBAAqB;CAejC;AAfD,sDAeC;AAbC;IADC,IAAA,qBAAW,GAAE;;sDACE;AAEhB;IADC,IAAA,qBAAW,GAAE;;mDACD;AAEb;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;;oDAC5C;AAEN;IADC,IAAA,qBAAW,GAAE;;wDACI;AAElB;IADC,IAAA,qBAAW,GAAE;;wDACI;AAElB;IADC,IAAA,qBAAW,GAAE;;2DACO;AAErB;IADC,IAAA,qBAAW,GAAE;;2DACO"} \ No newline at end of file diff --git a/backend/dist/pointOfInterest/dto/create-pointTrad.dto.d.ts b/backend/dist/pointOfInterest/dto/create-pointTrad.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..c5cc3441d75ca767f07e3e387bc8bdbb874e6f27 --- /dev/null +++ b/backend/dist/pointOfInterest/dto/create-pointTrad.dto.d.ts @@ -0,0 +1,8 @@ +import { LANGUAGES } from 'src/shared/enum/languages.enum'; +export declare class CreatePointTradDto { + language: LANGUAGES; + idPoint: number; + content: string; + directions: string; + audioName: string; +} diff --git a/backend/dist/pointOfInterest/dto/create-pointTrad.dto.js b/backend/dist/pointOfInterest/dto/create-pointTrad.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..693874d7448819a4f3dafefd38601421ef155f75 --- /dev/null +++ b/backend/dist/pointOfInterest/dto/create-pointTrad.dto.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreatePointTradDto = void 0; +class CreatePointTradDto { +} +exports.CreatePointTradDto = CreatePointTradDto; +//# sourceMappingURL=create-pointTrad.dto.js.map \ No newline at end of file diff --git a/backend/dist/pointOfInterest/dto/create-pointTrad.dto.js.map b/backend/dist/pointOfInterest/dto/create-pointTrad.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ef626a4872290991b5208ff6f75dcf390c69ca3b --- /dev/null +++ b/backend/dist/pointOfInterest/dto/create-pointTrad.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-pointTrad.dto.js","sourceRoot":"","sources":["../../../src/pointOfInterest/dto/create-pointTrad.dto.ts"],"names":[],"mappings":";;;AAEA,MAAa,kBAAkB;CAM9B;AAND,gDAMC"} \ No newline at end of file diff --git a/backend/dist/pointOfInterest/dto/getPoint.dto.d.ts b/backend/dist/pointOfInterest/dto/getPoint.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..66c34ac6d3a11118d10c378c8b9f4005e4ddb620 --- /dev/null +++ b/backend/dist/pointOfInterest/dto/getPoint.dto.d.ts @@ -0,0 +1,8 @@ +export declare class getPointDto { + idPoint: number; + idPlace: number; + name: string; + imageName: string; + content: string; + directions: string; +} diff --git a/backend/dist/pointOfInterest/dto/getPoint.dto.js b/backend/dist/pointOfInterest/dto/getPoint.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..6935efd59dfba0f4db6c01ffd18a59947d670b18 --- /dev/null +++ b/backend/dist/pointOfInterest/dto/getPoint.dto.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.getPointDto = void 0; +class getPointDto { +} +exports.getPointDto = getPointDto; +//# sourceMappingURL=getPoint.dto.js.map \ No newline at end of file diff --git a/backend/dist/pointOfInterest/dto/getPoint.dto.js.map b/backend/dist/pointOfInterest/dto/getPoint.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9a02551c20672a6db8b09ed45edff747a8c79d49 --- /dev/null +++ b/backend/dist/pointOfInterest/dto/getPoint.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"getPoint.dto.js","sourceRoot":"","sources":["../../../src/pointOfInterest/dto/getPoint.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,WAAW;CAOvB;AAPD,kCAOC"} \ No newline at end of file diff --git a/backend/dist/pointOfInterest/dto/printPointInfo.dto.d.ts b/backend/dist/pointOfInterest/dto/printPointInfo.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..b3e70e6b6db18e0f78ebb9999cee7999465ef739 --- /dev/null +++ b/backend/dist/pointOfInterest/dto/printPointInfo.dto.d.ts @@ -0,0 +1,5 @@ +export declare class printPointInfo { + idPoint: number; + namePlace: string; + name: string; +} diff --git a/backend/dist/pointOfInterest/dto/printPointInfo.dto.js b/backend/dist/pointOfInterest/dto/printPointInfo.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..4eaaab68abd3415ddc91da4c05c851e09c934a2b --- /dev/null +++ b/backend/dist/pointOfInterest/dto/printPointInfo.dto.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.printPointInfo = void 0; +class printPointInfo { +} +exports.printPointInfo = printPointInfo; +//# sourceMappingURL=printPointInfo.dto.js.map \ No newline at end of file diff --git a/backend/dist/pointOfInterest/dto/printPointInfo.dto.js.map b/backend/dist/pointOfInterest/dto/printPointInfo.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ffdd9d19abe719e235746804056b543b9c8d3200 --- /dev/null +++ b/backend/dist/pointOfInterest/dto/printPointInfo.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"printPointInfo.dto.js","sourceRoot":"","sources":["../../../src/pointOfInterest/dto/printPointInfo.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;CAI1B;AAJD,wCAIC"} \ No newline at end of file diff --git a/backend/dist/pointOfInterest/dto/update-point.dto.d.ts b/backend/dist/pointOfInterest/dto/update-point.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..09850e70e6266fe91c94fe122494ed1ef2efe44b --- /dev/null +++ b/backend/dist/pointOfInterest/dto/update-point.dto.d.ts @@ -0,0 +1,5 @@ +import { CreatePointAndTradDto } from './create-pointAndTraduction.dto'; +declare const UpdatePointDto_base: import("@nestjs/common").Type>; +export declare class UpdatePointDto extends UpdatePointDto_base { +} +export {}; diff --git a/backend/dist/pointOfInterest/dto/update-point.dto.js b/backend/dist/pointOfInterest/dto/update-point.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..8fa17b59f62f83ef3e71c3e96661c2247cc58a11 --- /dev/null +++ b/backend/dist/pointOfInterest/dto/update-point.dto.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UpdatePointDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +const create_pointAndTraduction_dto_1 = require("./create-pointAndTraduction.dto"); +class UpdatePointDto extends (0, swagger_1.PartialType)(create_pointAndTraduction_dto_1.CreatePointAndTradDto) { +} +exports.UpdatePointDto = UpdatePointDto; +//# sourceMappingURL=update-point.dto.js.map \ No newline at end of file diff --git a/backend/dist/pointOfInterest/dto/update-point.dto.js.map b/backend/dist/pointOfInterest/dto/update-point.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6a0dd5d84f8ff04dd17cf19ca3b104986d1ab5b3 --- /dev/null +++ b/backend/dist/pointOfInterest/dto/update-point.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"update-point.dto.js","sourceRoot":"","sources":["../../../src/pointOfInterest/dto/update-point.dto.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,mFAAwE;AAExE,MAAa,cAAe,SAAQ,IAAA,qBAAW,EAAC,qDAAqB,CAAC;CAAG;AAAzE,wCAAyE"} \ No newline at end of file diff --git a/backend/dist/pointOfInterest/entities/PointOfInterest.entity.d.ts b/backend/dist/pointOfInterest/entities/PointOfInterest.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..6c8d0da9fc2c62ad7c6ad5232e8386bf52fd28e2 --- /dev/null +++ b/backend/dist/pointOfInterest/entities/PointOfInterest.entity.d.ts @@ -0,0 +1,7 @@ +import { Place } from 'src/place/entities/place.entity'; +export declare class PointOfInterest { + idPoint: number; + name: string; + idPlace: Place; + imageName: string; +} diff --git a/backend/dist/pointOfInterest/entities/PointOfInterest.entity.js b/backend/dist/pointOfInterest/entities/PointOfInterest.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..c7bb1a68023627449bc42fcdbeaa711301ec9aea --- /dev/null +++ b/backend/dist/pointOfInterest/entities/PointOfInterest.entity.js @@ -0,0 +1,38 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PointOfInterest = void 0; +const place_entity_1 = require("../../place/entities/place.entity"); +const typeorm_1 = require("typeorm"); +let PointOfInterest = class PointOfInterest { +}; +exports.PointOfInterest = PointOfInterest; +__decorate([ + (0, typeorm_1.PrimaryGeneratedColumn)(), + __metadata("design:type", Number) +], PointOfInterest.prototype, "idPoint", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: false }), + __metadata("design:type", String) +], PointOfInterest.prototype, "name", void 0); +__decorate([ + (0, typeorm_1.JoinColumn)({ name: 'idPlace' }), + (0, typeorm_1.ManyToOne)(() => place_entity_1.Place, (place) => place.points, { nullable: false }), + __metadata("design:type", place_entity_1.Place) +], PointOfInterest.prototype, "idPlace", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: false }), + __metadata("design:type", String) +], PointOfInterest.prototype, "imageName", void 0); +exports.PointOfInterest = PointOfInterest = __decorate([ + (0, typeorm_1.Entity)() +], PointOfInterest); +//# sourceMappingURL=PointOfInterest.entity.js.map \ No newline at end of file diff --git a/backend/dist/pointOfInterest/entities/PointOfInterest.entity.js.map b/backend/dist/pointOfInterest/entities/PointOfInterest.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..dc06b695121a7d8449e1556a76aec91c9513d025 --- /dev/null +++ b/backend/dist/pointOfInterest/entities/PointOfInterest.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PointOfInterest.entity.js","sourceRoot":"","sources":["../../../src/pointOfInterest/entities/PointOfInterest.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oEAAwD;AACxD,qCAAwF;AAGjF,IAAM,eAAe,GAArB,MAAM,eAAe;CAa3B,CAAA;AAbY,0CAAe;AAE1B;IADC,IAAA,gCAAsB,GAAE;;gDACT;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;6CACf;AAIb;IAFC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC/B,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,oBAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BAC5D,oBAAK;gDAAC;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;kDACV;0BAZP,eAAe;IAD3B,IAAA,gBAAM,GAAE;GACI,eAAe,CAa3B"} \ No newline at end of file diff --git a/backend/dist/pointOfInterest/entities/PointOfInterestTraduction.entity.d.ts b/backend/dist/pointOfInterest/entities/PointOfInterestTraduction.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..a7d2979431982445bb73226ec513479db3f98906 --- /dev/null +++ b/backend/dist/pointOfInterest/entities/PointOfInterestTraduction.entity.d.ts @@ -0,0 +1,9 @@ +import { PointOfInterest } from './PointOfInterest.entity'; +import { LANGUAGES } from 'src/shared/enum/languages.enum'; +export declare class PointOfInterestTraduction { + idPoint: PointOfInterest; + language: LANGUAGES; + content: string; + directions: string; + audioName: string; +} diff --git a/backend/dist/pointOfInterest/entities/PointOfInterestTraduction.entity.js b/backend/dist/pointOfInterest/entities/PointOfInterestTraduction.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..75cba011448b8c074d01ba5b7803b9eb1c79ea79 --- /dev/null +++ b/backend/dist/pointOfInterest/entities/PointOfInterestTraduction.entity.js @@ -0,0 +1,43 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PointOfInterestTraduction = void 0; +const typeorm_1 = require("typeorm"); +const PointOfInterest_entity_1 = require("./PointOfInterest.entity"); +const languages_enum_1 = require("../../shared/enum/languages.enum"); +let PointOfInterestTraduction = class PointOfInterestTraduction { +}; +exports.PointOfInterestTraduction = PointOfInterestTraduction; +__decorate([ + (0, typeorm_1.PrimaryColumn)({ name: 'idPoint', type: Number }), + (0, typeorm_1.ManyToOne)(() => PointOfInterest_entity_1.PointOfInterest, (point) => point.idPoint), + __metadata("design:type", PointOfInterest_entity_1.PointOfInterest) +], PointOfInterestTraduction.prototype, "idPoint", void 0); +__decorate([ + (0, typeorm_1.PrimaryColumn)(), + __metadata("design:type", String) +], PointOfInterestTraduction.prototype, "language", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: false, length: 1024 }), + __metadata("design:type", String) +], PointOfInterestTraduction.prototype, "content", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: true, length: 1024 }), + __metadata("design:type", String) +], PointOfInterestTraduction.prototype, "directions", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], PointOfInterestTraduction.prototype, "audioName", void 0); +exports.PointOfInterestTraduction = PointOfInterestTraduction = __decorate([ + (0, typeorm_1.Entity)() +], PointOfInterestTraduction); +//# sourceMappingURL=PointOfInterestTraduction.entity.js.map \ No newline at end of file diff --git a/backend/dist/pointOfInterest/entities/PointOfInterestTraduction.entity.js.map b/backend/dist/pointOfInterest/entities/PointOfInterestTraduction.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e5ad27939834f8194ff01cb000e367928ad88b77 --- /dev/null +++ b/backend/dist/pointOfInterest/entities/PointOfInterestTraduction.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"PointOfInterestTraduction.entity.js","sourceRoot":"","sources":["../../../src/pointOfInterest/entities/PointOfInterestTraduction.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAmE;AACnE,qEAA2D;AAC3D,qEAA2D;AAGpD,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;CAcrC,CAAA;AAdY,8DAAyB;AAGpC;IAFC,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAChD,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,wCAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;8BAClD,wCAAe;0DAAC;AAEzB;IADC,IAAA,uBAAa,GAAE;;2DACI;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;0DAC1B;AAEhB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;6DACtB;AAGnB;IADC,IAAA,gBAAM,GAAE;;4DACS;oCAbP,yBAAyB;IADrC,IAAA,gBAAM,GAAE;GACI,yBAAyB,CAcrC"} \ No newline at end of file diff --git a/backend/dist/pointOfInterest/enum/available.enum.d.ts b/backend/dist/pointOfInterest/enum/available.enum.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..8821ef39ea3562ae7ac7509c7fc66a98cb9a949a --- /dev/null +++ b/backend/dist/pointOfInterest/enum/available.enum.d.ts @@ -0,0 +1,11 @@ +export declare enum Available { + WEEKEND = "weekend", + ALL_DAYS = "all_days", + WEEKDAYS = "weekdays", + CUSTOM = "custom" +} +export declare const availableToDays: { + weekend: string[]; + all_days: string[]; + weekdays: string[]; +}; diff --git a/backend/dist/pointOfInterest/enum/available.enum.js b/backend/dist/pointOfInterest/enum/available.enum.js new file mode 100644 index 0000000000000000000000000000000000000000..7e2bbec3e36c40e56e68c6bec9212e825e4a78d8 --- /dev/null +++ b/backend/dist/pointOfInterest/enum/available.enum.js @@ -0,0 +1,16 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.availableToDays = exports.Available = void 0; +var Available; +(function (Available) { + Available["WEEKEND"] = "weekend"; + Available["ALL_DAYS"] = "all_days"; + Available["WEEKDAYS"] = "weekdays"; + Available["CUSTOM"] = "custom"; +})(Available || (exports.Available = Available = {})); +exports.availableToDays = { + [Available.WEEKEND]: ['Saturday', 'Sunday'], + [Available.ALL_DAYS]: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], + [Available.WEEKDAYS]: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'], +}; +//# sourceMappingURL=available.enum.js.map \ No newline at end of file diff --git a/backend/dist/pointOfInterest/enum/available.enum.js.map b/backend/dist/pointOfInterest/enum/available.enum.js.map new file mode 100644 index 0000000000000000000000000000000000000000..625a87ca7103fba84b04f1ed9f3fb66bb99c4553 --- /dev/null +++ b/backend/dist/pointOfInterest/enum/available.enum.js.map @@ -0,0 +1 @@ +{"version":3,"file":"available.enum.js","sourceRoot":"","sources":["../../../src/pointOfInterest/enum/available.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;IACrB,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;AACnB,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AAEY,QAAA,eAAe,GAAG;IAC7B,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;IAC3C,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC;IACpG,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC;CAC/E,CAAC"} \ No newline at end of file diff --git a/backend/dist/pointOfInterest/utils/qrcode.d.ts b/backend/dist/pointOfInterest/utils/qrcode.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..51d1319d3fe1ed65c76b7520af840ddd9c117bad --- /dev/null +++ b/backend/dist/pointOfInterest/utils/qrcode.d.ts @@ -0,0 +1 @@ +export declare const generateQRCode: (idState: number, idTown: number, idActivity: number, idPoint: number) => Promise; diff --git a/backend/dist/pointOfInterest/utils/qrcode.js b/backend/dist/pointOfInterest/utils/qrcode.js new file mode 100644 index 0000000000000000000000000000000000000000..14c87ec5becbc93653c459a53a4269571cd3c2f5 --- /dev/null +++ b/backend/dist/pointOfInterest/utils/qrcode.js @@ -0,0 +1,32 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.generateQRCode = void 0; +const qrcode = require("qrcode"); +const fs = require("fs"); +const common_1 = require("@nestjs/common"); +const path = require("path"); +const server_contants_1 = require("../../constants/server.contants"); +const QR_FOLDER = 'qr'; +const generateQRCode = async (idState, idTown, idActivity, idPoint) => { + try { + const url = `/state/${idState}/town/${idTown}/activity/${idActivity}/travel?id=${idPoint}`; + const qrCodeImage = await qrcode.toDataURL(url); + const base64Data = qrCodeImage.replace(/^data:image\/png;base64,/, ''); + const filename = path.join(server_contants_1.ServerConstants.ROOT_STATIC_PATH, QR_FOLDER, `${idPoint}.png`); + fs.writeFile(filename, base64Data, 'base64', (err) => { + if (err) { + console.error(err); + throw new common_1.InternalServerErrorException('Error saving QR code image'); + } + else { + console.log('QR code image saved as qrcode.png'); + } + }); + } + catch (err) { + console.error(err); + throw new common_1.InternalServerErrorException('Error generating QR code'); + } +}; +exports.generateQRCode = generateQRCode; +//# sourceMappingURL=qrcode.js.map \ No newline at end of file diff --git a/backend/dist/pointOfInterest/utils/qrcode.js.map b/backend/dist/pointOfInterest/utils/qrcode.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c617be499d6c612502581b034c195146cac9ecf7 --- /dev/null +++ b/backend/dist/pointOfInterest/utils/qrcode.js.map @@ -0,0 +1 @@ +{"version":3,"file":"qrcode.js","sourceRoot":"","sources":["../../../src/pointOfInterest/utils/qrcode.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,yBAAyB;AACzB,2CAA8D;AAC9D,6BAA6B;AAC7B,qEAAgE;AAEhE,MAAM,SAAS,GAAG,IAAI,CAAC;AAChB,MAAM,cAAc,GAAG,KAAK,EAAE,OAAe,EAAE,MAAc,EAAE,UAAkB,EAAE,OAAe,EAAE,EAAE;IAC3G,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,UAAU,OAAO,SAAS,MAAM,aAAa,UAAU,cAAc,OAAO,EAAE,CAAC;QAC3F,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAGhD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAGvE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,iCAAe,CAAC,gBAAgB,EAAE,SAAS,EAAE,GAAG,OAAO,MAAM,CAAC,CAAC;QAE1F,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;YACnD,IAAI,GAAG,EAAE,CAAC;gBACR,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,MAAM,IAAI,qCAA4B,CAAC,4BAA4B,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,IAAI,qCAA4B,CAAC,0BAA0B,CAAC,CAAC;IACrE,CAAC;AACH,CAAC,CAAC;AAvBW,QAAA,cAAc,kBAuBzB"} \ No newline at end of file diff --git a/backend/dist/route/dto/create-route-req.d.ts b/backend/dist/route/dto/create-route-req.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..bc45923834d80e3bfb7fbb7d03f6a96bc53acf55 --- /dev/null +++ b/backend/dist/route/dto/create-route-req.d.ts @@ -0,0 +1,9 @@ +export declare class CreateRouteReq { + start: number; + end: number; +} +export declare class CreateCustomRouteReq { + placesIds: number[]; + start: number; + end: number; +} diff --git a/backend/dist/route/dto/create-route-req.js b/backend/dist/route/dto/create-route-req.js new file mode 100644 index 0000000000000000000000000000000000000000..630d740c1758937cc82e3be18b31705b7e74b034 --- /dev/null +++ b/backend/dist/route/dto/create-route-req.js @@ -0,0 +1,40 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreateCustomRouteReq = exports.CreateRouteReq = void 0; +const swagger_1 = require("@nestjs/swagger"); +class CreateRouteReq { +} +exports.CreateRouteReq = CreateRouteReq; +__decorate([ + (0, swagger_1.ApiProperty)({ name: 'start', type: Number }), + __metadata("design:type", Number) +], CreateRouteReq.prototype, "start", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ name: 'end', type: Number }), + __metadata("design:type", Number) +], CreateRouteReq.prototype, "end", void 0); +class CreateCustomRouteReq { +} +exports.CreateCustomRouteReq = CreateCustomRouteReq; +__decorate([ + (0, swagger_1.ApiProperty)({ name: 'placesIds', type: [Number] }), + __metadata("design:type", Array) +], CreateCustomRouteReq.prototype, "placesIds", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ name: 'start', type: Number }), + __metadata("design:type", Number) +], CreateCustomRouteReq.prototype, "start", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ name: 'end', type: Number }), + __metadata("design:type", Number) +], CreateCustomRouteReq.prototype, "end", void 0); +//# sourceMappingURL=create-route-req.js.map \ No newline at end of file diff --git a/backend/dist/route/dto/create-route-req.js.map b/backend/dist/route/dto/create-route-req.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6d4942ba0c390012454e4a2cd02e27a101a1d156 --- /dev/null +++ b/backend/dist/route/dto/create-route-req.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-route-req.js","sourceRoot":"","sources":["../../../src/route/dto/create-route-req.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,cAAc;CAM1B;AAND,wCAMC;AAJC;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;6CAC/B;AAGd;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2CAC/B;AAGd,MAAa,oBAAoB;CAQhC;AARD,oDAQC;AANC;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;;uDAC/B;AAEpB;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDAC/B;AAGd;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;iDAC/B"} \ No newline at end of file diff --git a/backend/dist/route/dto/create-route.dto.d.ts b/backend/dist/route/dto/create-route.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..6c0a57021ee444387df8b5155b71bc5506f521b9 --- /dev/null +++ b/backend/dist/route/dto/create-route.dto.d.ts @@ -0,0 +1,8 @@ +import { Town } from 'src/town/entities/town.entity'; +import { User } from 'src/user/entities/user.entity'; +export declare class CreateRouteDto { + user: User; + town: Town; + startDate: Date; + endDate: Date; +} diff --git a/backend/dist/route/dto/create-route.dto.js b/backend/dist/route/dto/create-route.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..11a9113fe3e97be094bb67be0f5efff759cda61e --- /dev/null +++ b/backend/dist/route/dto/create-route.dto.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreateRouteDto = void 0; +class CreateRouteDto { +} +exports.CreateRouteDto = CreateRouteDto; +//# sourceMappingURL=create-route.dto.js.map \ No newline at end of file diff --git a/backend/dist/route/dto/create-route.dto.js.map b/backend/dist/route/dto/create-route.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2a91d8b3cd5935f57f734e4460b64378188aa458 --- /dev/null +++ b/backend/dist/route/dto/create-route.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-route.dto.js","sourceRoot":"","sources":["../../../src/route/dto/create-route.dto.ts"],"names":[],"mappings":";;;AAGA,MAAa,cAAc;CAK1B;AALD,wCAKC"} \ No newline at end of file diff --git a/backend/dist/route/dto/recommend-route.dto.d.ts b/backend/dist/route/dto/recommend-route.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..801279aabfcf0bec73385b65f67069918acff4b6 --- /dev/null +++ b/backend/dist/route/dto/recommend-route.dto.d.ts @@ -0,0 +1,7 @@ +export interface RecommendPlace { + idPlace: number; + openAt: number; + closeAt: number; + categories: number[]; + rating: number; +} diff --git a/backend/dist/route/dto/recommend-route.dto.js b/backend/dist/route/dto/recommend-route.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..52a1bb16426286eb79215c820654b3c9bcc2cfcf --- /dev/null +++ b/backend/dist/route/dto/recommend-route.dto.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=recommend-route.dto.js.map \ No newline at end of file diff --git a/backend/dist/route/dto/recommend-route.dto.js.map b/backend/dist/route/dto/recommend-route.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f39c2dcaf187e7cc661c58f5259d13ce18388560 --- /dev/null +++ b/backend/dist/route/dto/recommend-route.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"recommend-route.dto.js","sourceRoot":"","sources":["../../../src/route/dto/recommend-route.dto.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/backend/dist/route/dto/update-route.dto.d.ts b/backend/dist/route/dto/update-route.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..b23dc5d27e53861b96ecb4a62e0043889eab701e --- /dev/null +++ b/backend/dist/route/dto/update-route.dto.d.ts @@ -0,0 +1,5 @@ +import { CreateRouteDto } from './create-route.dto'; +declare const UpdateRouteDto_base: import("@nestjs/common").Type>; +export declare class UpdateRouteDto extends UpdateRouteDto_base { +} +export {}; diff --git a/backend/dist/route/dto/update-route.dto.js b/backend/dist/route/dto/update-route.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..fcaad0e74f23b9827741fccf9ad39696e668001b --- /dev/null +++ b/backend/dist/route/dto/update-route.dto.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UpdateRouteDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +const create_route_dto_1 = require("./create-route.dto"); +class UpdateRouteDto extends (0, swagger_1.PartialType)(create_route_dto_1.CreateRouteDto) { +} +exports.UpdateRouteDto = UpdateRouteDto; +//# sourceMappingURL=update-route.dto.js.map \ No newline at end of file diff --git a/backend/dist/route/dto/update-route.dto.js.map b/backend/dist/route/dto/update-route.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7ceaaccab5d4d2196a7cc600fa257cdaf7e5d869 --- /dev/null +++ b/backend/dist/route/dto/update-route.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"update-route.dto.js","sourceRoot":"","sources":["../../../src/route/dto/update-route.dto.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,yDAAoD;AAEpD,MAAa,cAAe,SAAQ,IAAA,qBAAW,EAAC,iCAAc,CAAC;CAAG;AAAlE,wCAAkE"} \ No newline at end of file diff --git a/backend/dist/route/dto/updateRouteStatus.dto.d.ts b/backend/dist/route/dto/updateRouteStatus.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..447f0b00b6fc44567783ac21a2ea5afc4902eef6 --- /dev/null +++ b/backend/dist/route/dto/updateRouteStatus.dto.d.ts @@ -0,0 +1,4 @@ +import { RouteStatus } from '../entities/route.entity'; +export declare class UpdateRouteStatusDto { + status: RouteStatus; +} diff --git a/backend/dist/route/dto/updateRouteStatus.dto.js b/backend/dist/route/dto/updateRouteStatus.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..e1806b004a795c620cc0feb5fea516f467ed2e7e --- /dev/null +++ b/backend/dist/route/dto/updateRouteStatus.dto.js @@ -0,0 +1,22 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UpdateRouteStatusDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +const route_entity_1 = require("../entities/route.entity"); +class UpdateRouteStatusDto { +} +exports.UpdateRouteStatusDto = UpdateRouteStatusDto; +__decorate([ + (0, swagger_1.ApiProperty)({ enum: route_entity_1.RouteStatus, enumName: 'RouteStatus', description: 'accepted, pending, rejected' }), + __metadata("design:type", String) +], UpdateRouteStatusDto.prototype, "status", void 0); +//# sourceMappingURL=updateRouteStatus.dto.js.map \ No newline at end of file diff --git a/backend/dist/route/dto/updateRouteStatus.dto.js.map b/backend/dist/route/dto/updateRouteStatus.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..be96206492c6cdc2f3aefebd6ef8ee52eb8d6664 --- /dev/null +++ b/backend/dist/route/dto/updateRouteStatus.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"updateRouteStatus.dto.js","sourceRoot":"","sources":["../../../src/route/dto/updateRouteStatus.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,2DAAuD;AAEvD,MAAa,oBAAoB;CAGhC;AAHD,oDAGC;AADC;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,0BAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;;oDACpF"} \ No newline at end of file diff --git a/backend/dist/route/entities/route.entity.d.ts b/backend/dist/route/entities/route.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..d6892dd386974d8de60797d39b128842377537ab --- /dev/null +++ b/backend/dist/route/entities/route.entity.d.ts @@ -0,0 +1,17 @@ +import { Town } from 'src/town/entities/town.entity'; +import { TravelPlace } from 'src/travel-place/entities/travel-place.entity'; +import { User } from 'src/user/entities/user.entity'; +export declare enum RouteStatus { + PENDING = "pending", + ACCEPTED = "accepted", + REJECTED = "rejected" +} +export declare class Route { + idRoute: number; + user: User; + town: Town; + travelPlace: TravelPlace[]; + startDate: Date; + endDate: Date; + status: RouteStatus; +} diff --git a/backend/dist/route/entities/route.entity.js b/backend/dist/route/entities/route.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..5d2eac04f398e4175dbfd39b5cf464ead39c75a8 --- /dev/null +++ b/backend/dist/route/entities/route.entity.js @@ -0,0 +1,59 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Route = exports.RouteStatus = void 0; +const town_entity_1 = require("../../town/entities/town.entity"); +const travel_place_entity_1 = require("../../travel-place/entities/travel-place.entity"); +const user_entity_1 = require("../../user/entities/user.entity"); +const typeorm_1 = require("typeorm"); +var RouteStatus; +(function (RouteStatus) { + RouteStatus["PENDING"] = "pending"; + RouteStatus["ACCEPTED"] = "accepted"; + RouteStatus["REJECTED"] = "rejected"; +})(RouteStatus || (exports.RouteStatus = RouteStatus = {})); +let Route = class Route { +}; +exports.Route = Route; +__decorate([ + (0, typeorm_1.PrimaryGeneratedColumn)(), + __metadata("design:type", Number) +], Route.prototype, "idRoute", void 0); +__decorate([ + (0, typeorm_1.JoinColumn)({ name: 'user' }), + (0, typeorm_1.ManyToOne)(() => user_entity_1.User, (user) => user.email, { nullable: false }), + __metadata("design:type", user_entity_1.User) +], Route.prototype, "user", void 0); +__decorate([ + (0, typeorm_1.JoinColumn)({ name: 'town' }), + (0, typeorm_1.ManyToOne)(() => town_entity_1.Town, (town) => town.townId, { nullable: false, eager: true }), + __metadata("design:type", town_entity_1.Town) +], Route.prototype, "town", void 0); +__decorate([ + (0, typeorm_1.OneToMany)(() => travel_place_entity_1.TravelPlace, (travelPlace) => travelPlace.route, { eager: true }), + __metadata("design:type", Array) +], Route.prototype, "travelPlace", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: false }), + __metadata("design:type", Date) +], Route.prototype, "startDate", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: false }), + __metadata("design:type", Date) +], Route.prototype, "endDate", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: false, default: RouteStatus.PENDING }), + __metadata("design:type", String) +], Route.prototype, "status", void 0); +exports.Route = Route = __decorate([ + (0, typeorm_1.Entity)() +], Route); +//# sourceMappingURL=route.entity.js.map \ No newline at end of file diff --git a/backend/dist/route/entities/route.entity.js.map b/backend/dist/route/entities/route.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..457c420a60a81cd47e18d46f695b2eaecc7b4709 --- /dev/null +++ b/backend/dist/route/entities/route.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"route.entity.js","sourceRoot":"","sources":["../../../src/route/entities/route.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAAqD;AACrD,yFAA4E;AAC5E,iEAAqD;AACrD,qCAAmG;AACnG,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,oCAAqB,CAAA;IACrB,oCAAqB,CAAA;AACvB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAGM,IAAM,KAAK,GAAX,MAAM,KAAK;CAsBjB,CAAA;AAtBY,sBAAK;AAEhB;IADC,IAAA,gCAAsB,GAAE;;sCACT;AAIhB;IAFC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC5B,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BAC3D,kBAAI;mCAAC;AAIX;IAFC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC5B,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;8BACzE,kBAAI;mCAAC;AAGX;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,iCAAW,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;0CACvD;AAG3B;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BACjB,IAAI;wCAAC;AAEhB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BACnB,IAAI;sCAAC;AAGd;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,CAAC;;qCACtC;gBArBT,KAAK;IADjB,IAAA,gBAAM,GAAE;GACI,KAAK,CAsBjB"} \ No newline at end of file diff --git a/backend/dist/route/route.controller.d.ts b/backend/dist/route/route.controller.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..55358bcb6a0e9dd5c25c30430cd4947511adfc35 --- /dev/null +++ b/backend/dist/route/route.controller.d.ts @@ -0,0 +1,16 @@ +import { RouteService } from './route.service'; +import { LANGUAGES } from 'src/shared/enum/languages.enum'; +import { CustomUserRequest } from 'src/auth/user/interface/customUserReq'; +import { CreateCustomRouteReq, CreateRouteReq } from './dto/create-route-req'; +import { RouteStatus } from './entities/route.entity'; +import { UpdateRouteStatusDto } from './dto/updateRouteStatus.dto'; +export declare class RouteController { + private readonly routeService; + constructor(routeService: RouteService); + getRouteInfo(idRoute: number): Promise; + recommendRoute(req: CustomUserRequest, lang: string, idTown: number, createRouteReq: CreateRouteReq): Promise; + getRecommendRoute(req: CustomUserRequest, routeStatus: RouteStatus): Promise; + getRoute(idRoute: number, lang: LANGUAGES, req: CustomUserRequest): Promise; + updateRoute(updateRouteStatusDto: UpdateRouteStatusDto, idRoute: number): Promise; + createCustomRoute(req: CustomUserRequest, createRouteReq: CreateCustomRouteReq, lang: LANGUAGES): Promise; +} diff --git a/backend/dist/route/route.controller.js b/backend/dist/route/route.controller.js new file mode 100644 index 0000000000000000000000000000000000000000..2433044a68e089bd397d1bc7da14f5ef5d9446b3 --- /dev/null +++ b/backend/dist/route/route.controller.js @@ -0,0 +1,148 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.RouteController = void 0; +const common_1 = require("@nestjs/common"); +const route_service_1 = require("./route.service"); +const swagger_1 = require("@nestjs/swagger"); +const languages_enum_1 = require("../shared/enum/languages.enum"); +const authUser_guard_1 = require("../auth/user/authUser.guard"); +const create_route_req_1 = require("./dto/create-route-req"); +const route_entity_1 = require("./entities/route.entity"); +const updateRouteStatus_dto_1 = require("./dto/updateRouteStatus.dto"); +let RouteController = class RouteController { + constructor(routeService) { + this.routeService = routeService; + } + async getRouteInfo(idRoute) { + return await this.routeService.getRouteInfoById(idRoute); + } + async recommendRoute(req, lang, idTown, createRouteReq) { + try { + const { email } = req.user; + const res = await this.routeService.recommend(idTown, email, lang, createRouteReq.start, createRouteReq.end); + console.log('HELOOO: ', res); + return res; + } + catch (error) { + console.log(error); + return error; + } + } + async getRecommendRoute(req, routeStatus) { + try { + const { email } = req.user; + return await this.routeService.getRouteAndPlacesByUser(email, routeStatus); + } + catch (error) { + console.log(error); + return error; + } + } + async getRoute(idRoute, lang, req) { + const { email } = req.user; + return await this.routeService.getRouteById(idRoute, email, lang); + } + async updateRoute(updateRouteStatusDto, idRoute) { + return await this.routeService.updateRoute(idRoute, updateRouteStatusDto.status); + } + async createCustomRoute(req, createRouteReq, lang) { + try { + const { email } = req.user; + return await this.routeService.createCustomRoute(email, lang, createRouteReq); + } + catch (error) { + console.log(error); + return error; + } + } +}; +exports.RouteController = RouteController; +__decorate([ + (0, common_1.Get)('/info/:idRoute'), + (0, swagger_1.ApiParam)({ name: 'idRoute', type: Number }), + (0, swagger_1.ApiBearerAuth)('jwt'), + __param(0, (0, common_1.Param)('idRoute')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Number]), + __metadata("design:returntype", Promise) +], RouteController.prototype, "getRouteInfo", null); +__decorate([ + (0, common_1.Post)('/:idTown'), + (0, swagger_1.ApiParam)({ name: 'idTown', type: Number }), + (0, swagger_1.ApiBody)({ type: create_route_req_1.CreateRouteReq }), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, common_1.UseGuards)(authUser_guard_1.AuthUserGuard), + __param(0, (0, common_1.Req)()), + __param(1, (0, common_1.Query)('lang')), + __param(2, (0, common_1.Param)('idTown')), + __param(3, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, String, Number, create_route_req_1.CreateRouteReq]), + __metadata("design:returntype", Promise) +], RouteController.prototype, "recommendRoute", null); +__decorate([ + (0, common_1.Get)(''), + (0, swagger_1.ApiQuery)({ name: 'routeStatus', type: String, schema: { enum: Object.values(route_entity_1.RouteStatus) } }), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, common_1.UseGuards)(authUser_guard_1.AuthUserGuard), + __param(0, (0, common_1.Req)()), + __param(1, (0, common_1.Query)('routeStatus')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, String]), + __metadata("design:returntype", Promise) +], RouteController.prototype, "getRecommendRoute", null); +__decorate([ + (0, common_1.Get)('/:idRoute/:lang'), + (0, swagger_1.ApiParam)({ name: 'idRoute', type: Number }), + (0, swagger_1.ApiParam)({ name: 'lang', type: String, enum: Object.values(languages_enum_1.LANGUAGES) }), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, common_1.UseGuards)(authUser_guard_1.AuthUserGuard), + __param(0, (0, common_1.Param)('idRoute')), + __param(1, (0, common_1.Param)('lang')), + __param(2, (0, common_1.Req)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Number, String, Object]), + __metadata("design:returntype", Promise) +], RouteController.prototype, "getRoute", null); +__decorate([ + (0, common_1.Patch)('/:idRoute'), + (0, swagger_1.ApiParam)({ name: 'idRoute', type: Number }), + (0, swagger_1.ApiBody)({ type: updateRouteStatus_dto_1.UpdateRouteStatusDto, description: 'accepted, pending' }), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, common_1.UseGuards)(authUser_guard_1.AuthUserGuard), + __param(0, (0, common_1.Body)()), + __param(1, (0, common_1.Param)('idRoute')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [updateRouteStatus_dto_1.UpdateRouteStatusDto, Number]), + __metadata("design:returntype", Promise) +], RouteController.prototype, "updateRoute", null); +__decorate([ + (0, common_1.Post)('custom/:idTown/:lang'), + (0, swagger_1.ApiOperation)({ summary: 'Create a custom route' }), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, common_1.UseGuards)(authUser_guard_1.AuthUserGuard), + __param(0, (0, common_1.Req)()), + __param(1, (0, common_1.Body)()), + __param(2, (0, common_1.Param)('lang')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, create_route_req_1.CreateCustomRouteReq, String]), + __metadata("design:returntype", Promise) +], RouteController.prototype, "createCustomRoute", null); +exports.RouteController = RouteController = __decorate([ + (0, common_1.Controller)('route'), + (0, swagger_1.ApiTags)('route'), + __metadata("design:paramtypes", [route_service_1.RouteService]) +], RouteController); +//# sourceMappingURL=route.controller.js.map \ No newline at end of file diff --git a/backend/dist/route/route.controller.js.map b/backend/dist/route/route.controller.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7d60c7b84cc1da98c2c069444d5ee05f4fe7b8fd --- /dev/null +++ b/backend/dist/route/route.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"route.controller.js","sourceRoot":"","sources":["../../src/route/route.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/route/route.module.d.ts b/backend/dist/route/route.module.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..a864fb3d0f0d3cd32d9d2b5ae1fe74c310dfb2f2 --- /dev/null +++ b/backend/dist/route/route.module.d.ts @@ -0,0 +1,2 @@ +export declare class RouteModule { +} diff --git a/backend/dist/route/route.module.js b/backend/dist/route/route.module.js new file mode 100644 index 0000000000000000000000000000000000000000..672c5c4e37d908d1308de9f262c315ab41fcc4ce --- /dev/null +++ b/backend/dist/route/route.module.js @@ -0,0 +1,72 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.RouteModule = void 0; +const common_1 = require("@nestjs/common"); +const route_service_1 = require("./route.service"); +const route_controller_1 = require("./route.controller"); +const typeorm_1 = require("@nestjs/typeorm"); +const route_entity_1 = require("./entities/route.entity"); +const authUserservice_1 = require("../auth/user/authUserservice"); +const user_service_1 = require("../user/user.service"); +const jwt_1 = require("@nestjs/jwt"); +const encryption_service_1 = require("../auth/encryption/encryption.service"); +const user_entity_1 = require("../user/entities/user.entity"); +const category_service_1 = require("../category/category.service"); +const category_entity_1 = require("../category/entities/category.entity"); +const town_entity_1 = require("../town/entities/town.entity"); +const travel_place_entity_1 = require("../travel-place/entities/travel-place.entity"); +const travel_place_service_1 = require("../travel-place/travel-place.service"); +const place_entity_1 = require("../place/entities/place.entity"); +const place_service_1 = require("../place/place.service"); +const available_date_entity_1 = require("../place/entities/available-date.entity"); +const place_traduction_entity_1 = require("../place/entities/place-traduction.entity"); +const visited_service_1 = require("../visited/visited.service"); +const visited_entity_1 = require("../visited/entities/visited.entity"); +const user_reset_code_entity_1 = require("../auth/user/entities/user-reset-code.entity"); +const user_confirm_code_entity_1 = require("../auth/user/entities/user-confirm-code.entity"); +const email_service_1 = require("../email/email.service"); +const visited_module_1 = require("../visited/visited.module"); +let RouteModule = class RouteModule { +}; +exports.RouteModule = RouteModule; +exports.RouteModule = RouteModule = __decorate([ + (0, common_1.Module)({ + controllers: [route_controller_1.RouteController], + providers: [ + route_service_1.RouteService, + authUserservice_1.AuthUserService, + user_service_1.UserService, + jwt_1.JwtService, + encryption_service_1.EncryptionService, + category_service_1.CategoryService, + travel_place_service_1.TravelPlaceService, + place_service_1.PlaceService, + visited_service_1.VisitedService, + email_service_1.EmailService, + ], + imports: [ + (0, common_1.forwardRef)(() => visited_module_1.VisitedModule), + typeorm_1.TypeOrmModule.forFeature([ + route_entity_1.Route, + user_entity_1.User, + user_reset_code_entity_1.UserResetCode, + category_entity_1.Category, + town_entity_1.Town, + travel_place_entity_1.TravelPlace, + place_entity_1.Place, + available_date_entity_1.AvailableDate, + place_traduction_entity_1.PlaceTraduction, + visited_entity_1.Visited, + user_confirm_code_entity_1.UserConfirmCode, + ]), + ], + exports: [route_service_1.RouteService], + }) +], RouteModule); +//# sourceMappingURL=route.module.js.map \ No newline at end of file diff --git a/backend/dist/route/route.module.js.map b/backend/dist/route/route.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5a70ad0e20f171924e7ddaf8dfec6a7667dcdb6d --- /dev/null +++ b/backend/dist/route/route.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"route.module.js","sourceRoot":"","sources":["../../src/route/route.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,mDAA+C;AAC/C,yDAAqD;AACrD,6CAAgD;AAChD,0DAAgD;AAChD,kEAAgE;AAChE,uDAAoD;AACpD,qCAAyC;AACzC,8EAA2E;AAC3E,8DAAqD;AACrD,mEAAgE;AAChE,0EAAiE;AACjE,8DAAqD;AACrD,sFAA4E;AAC5E,+EAA2E;AAC3E,iEAAwD;AACxD,0DAAuD;AACvD,mFAAyE;AACzE,uFAA6E;AAC7E,gEAA6D;AAC7D,uEAA8D;AAC9D,yFAA8E;AAC9E,6FAAkF;AAClF,0DAAuD;AACvD,8DAA2D;AAiCpD,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IAhCvB,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,kCAAe,CAAC;QAC9B,SAAS,EAAE;YACT,4BAAY;YACZ,iCAAe;YACf,0BAAW;YACX,gBAAU;YACV,sCAAiB;YACjB,kCAAe;YACf,yCAAkB;YAClB,4BAAY;YACZ,gCAAc;YACd,4BAAY;SACb;QACD,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,8BAAa,CAAC;YAC/B,uBAAa,CAAC,UAAU,CAAC;gBACvB,oBAAK;gBACL,kBAAI;gBACJ,sCAAa;gBACb,0BAAQ;gBACR,kBAAI;gBACJ,iCAAW;gBACX,oBAAK;gBACL,qCAAa;gBACb,yCAAe;gBACf,wBAAO;gBACP,0CAAe;aAChB,CAAC;SACH;QACD,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,WAAW,CAAG"} \ No newline at end of file diff --git a/backend/dist/route/route.service.d.ts b/backend/dist/route/route.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..fc5ed37d62eca53c482643ee5eb145903539ca71 --- /dev/null +++ b/backend/dist/route/route.service.d.ts @@ -0,0 +1,27 @@ +import { Route, RouteStatus } from './entities/route.entity'; +import { DataSource, Repository } from 'typeorm'; +import { User } from 'src/user/entities/user.entity'; +import { Town } from 'src/town/entities/town.entity'; +import { TravelPlaceService } from 'src/travel-place/travel-place.service'; +import { PlaceService } from 'src/place/place.service'; +import { LANGUAGES } from 'src/shared/enum/languages.enum'; +import { VisitedService } from 'src/visited/visited.service'; +import { UserService } from 'src/user/user.service'; +import { CreateCustomRouteReq } from './dto/create-route-req'; +export declare class RouteService { + private routeRepository; + private userRepository; + private townRepository; + private readonly travelPlaceService; + private readonly placeService; + private readonly visitedService; + private readonly userService; + private dataSource; + constructor(routeRepository: Repository, userRepository: Repository, townRepository: Repository, travelPlaceService: TravelPlaceService, placeService: PlaceService, visitedService: VisitedService, userService: UserService, dataSource: DataSource); + recommend(idTown: number, email: string, language: LANGUAGES, start: any, end: any): Promise; + getRouteAndPlacesByUser(email: string, routeStatus: RouteStatus): Promise; + updateRoute(idRoute: number, status: RouteStatus): Promise; + getRouteById(idRoute: number, email: string, lang: LANGUAGES): Promise; + getRouteInfoById(idRoute: number): Promise; + createCustomRoute(email: string, lang: LANGUAGES, createRouteReq: CreateCustomRouteReq): Promise; +} diff --git a/backend/dist/route/route.service.js b/backend/dist/route/route.service.js new file mode 100644 index 0000000000000000000000000000000000000000..6162db6d206f87926b430f67728ccdc9a7cc7c53 --- /dev/null +++ b/backend/dist/route/route.service.js @@ -0,0 +1,227 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.RouteService = void 0; +const common_1 = require("@nestjs/common"); +const typeorm_1 = require("@nestjs/typeorm"); +const route_entity_1 = require("./entities/route.entity"); +const typeorm_2 = require("typeorm"); +const user_entity_1 = require("../user/entities/user.entity"); +const town_entity_1 = require("../town/entities/town.entity"); +const travel_place_service_1 = require("../travel-place/travel-place.service"); +const recommendations_1 = require("./utils/recommendations"); +const place_service_1 = require("../place/place.service"); +const visited_service_1 = require("../visited/visited.service"); +const user_service_1 = require("../user/user.service"); +const server_contants_1 = require("../constants/server.contants"); +let RouteService = class RouteService { + constructor(routeRepository, userRepository, townRepository, travelPlaceService, placeService, visitedService, userService, dataSource) { + this.routeRepository = routeRepository; + this.userRepository = userRepository; + this.townRepository = townRepository; + this.travelPlaceService = travelPlaceService; + this.placeService = placeService; + this.visitedService = visitedService; + this.userService = userService; + this.dataSource = dataSource; + } + async recommend(idTown, email, language, start, end) { + const town = await this.townRepository.findOneBy({ townId: idTown }); + const user = await this.userRepository.findOneBy({ email }); + const placesNotVisited = await this.placeService.findPlacesNotVisitedByUserAndOpen(email, language, idTown); + const visited = await this.visitedService.getVisitedByUser(email); + const placesMapped = placesNotVisited.map((place) => { + return { + idPlace: place.idPlace, + openAt: place.openAt, + closeAt: place.closeAt, + categories: place.categories.map((category) => category.idCategory), + rating: 0, + }; + }); + const visitedMapped = visited.map((visit) => ({ + idPlace: visit.place.idPlace, + openAt: visit.place.openAt, + closeAt: visit.place.closeAt, + categories: visit.place.categories.map((category) => category.idCategory), + rating: visit.rating, + })); + const system = new recommendations_1.RecommendationsSystem(visitedMapped, placesMapped, start, end); + const chosen = system.recommend(); + const startDate = new Date(); + startDate.setHours(start); + const endDate = new Date(); + endDate.setHours(end); + const createRouteDto = { startDate, endDate, town, user }; + const idRoute = (await this.routeRepository.save(createRouteDto)).idRoute; + for (const curRecommended of chosen) { + const place = await this.placeService.findOneAndTradAndAvailable(curRecommended.idPlace, language); + const endDate = new Date(); + endDate.setHours(curRecommended.closeAt); + endDate.setMinutes(0); + const startDate = new Date(); + startDate.setHours(curRecommended.openAt); + startDate.setMinutes(0); + const createTravelPlace = { + ...place, + done: false, + idRoute, + endDate, + startDate, + }; + await this.travelPlaceService.create(createTravelPlace); + } + return await this.getRouteById(idRoute, email, language); + } + async getRouteAndPlacesByUser(email, routeStatus) { + const res = await this.routeRepository.find({ + relations: ['travelPlace'], + where: { user: { email }, status: routeStatus }, + order: { endDate: 'DESC' }, + }); + return res; + } + async updateRoute(idRoute, status) { + await this.routeRepository.update({ idRoute }, { status }); + } + async getRouteById(idRoute, email, lang) { + const user = await this.userService.findOne(email); + const res = await this.routeRepository.findOneBy({ idRoute, user }); + if (res && res.travelPlace) { + res.travelPlace = res.travelPlace.map((place) => { + place.place.categories = place.place.categories.filter((category) => category.language === lang); + return place; + }); + res.travelPlace = res.travelPlace.map((travelPlace) => { + return { + travelPlaceId: travelPlace.travelPlaceId, + idPlace: travelPlace.place.idPlace, + available: travelPlace.place.available, + latitude: travelPlace.place.latitude, + longitude: travelPlace.place.longitude, + imageName: `${server_contants_1.ServerConstants.HOST}/places/${travelPlace.place.imageName}`, + name: travelPlace.place.name, + openAt: travelPlace.place.openAt, + closeAt: travelPlace.place.closeAt, + startDate: travelPlace.startDate, + endDate: travelPlace.endDate, + categories: travelPlace.place.categories, + address: travelPlace.place.address, + done: travelPlace.done, + route: travelPlace.route, + place: { ...travelPlace.place, imageName: `${server_contants_1.ServerConstants.HOST}/places/${travelPlace.place.imageName}` }, + }; + }); + } + console.log(res); + return res; + } + async getRouteInfoById(idRoute) { + const res = await this.dataSource + .createQueryBuilder(route_entity_1.Route, 'route') + .leftJoinAndSelect('route.travelPlace', 'travelPlace') + .leftJoinAndSelect('travelPlace.place', 'place') + .leftJoinAndSelect('place.visited', 'visited') + .leftJoinAndSelect('route.town', 'town') + .where('route.idRoute = :idRoute', { idRoute }) + .getOne(); + if (res && res.travelPlace) { + res.travelPlace = res.travelPlace.map((travelPlace) => { + return { + travelPlaceId: travelPlace.travelPlaceId, + idPlace: travelPlace.place.idPlace, + available: travelPlace.place.available, + latitude: travelPlace.place.latitude, + longitude: travelPlace.place.longitude, + imageName: `${server_contants_1.ServerConstants.HOST}/places/${travelPlace.place.imageName}`, + name: travelPlace.place.name, + openAt: travelPlace.place.openAt, + closeAt: travelPlace.place.closeAt, + startDate: travelPlace.startDate, + endDate: travelPlace.endDate, + categories: travelPlace.place.categories, + address: travelPlace.place.address, + done: travelPlace.done, + route: travelPlace.route, + place: { ...travelPlace.place, imageName: `${server_contants_1.ServerConstants.HOST}/places/${travelPlace.place.imageName}` }, + }; + }); + } + return res; + } + async createCustomRoute(email, lang, createRouteReq) { + const { start, end, placesIds } = createRouteReq; + if (placesIds.length === 0) + return []; + const place = await this.placeService.findOneAndTradAndAvailable(placesIds[0], lang); + const user = await this.userService.findOne(email); + const town = await this.townRepository.findOneBy({ townId: place.idTown }); + const places = []; + for (const idPlace of placesIds) { + const place = await this.placeService.findOneAndTradAndAvailable(idPlace, lang); + places.push(place); + } + const placesNotVisited = places.map((place) => { + return { + idPlace: place.idPlace, + openAt: place.openAt, + closeAt: place.closeAt, + categories: place.categories.map((category) => category.idCategory), + rating: 0, + }; + }); + const system = new recommendations_1.RecommendationsSystem([], placesNotVisited, start, end); + const chosen = system.recommend(); + const startDate = new Date(); + startDate.setHours(start); + const endDate = new Date(); + endDate.setHours(end); + const createRouteDto = { startDate, endDate, town, user }; + const idRoute = (await this.routeRepository.save(createRouteDto)).idRoute; + for (const curRecommended of chosen) { + const place = await this.placeService.findOneAndTradAndAvailable(curRecommended.idPlace, lang); + const endDate = new Date(); + endDate.setHours(curRecommended.closeAt); + endDate.setMinutes(0); + const startDate = new Date(); + startDate.setHours(curRecommended.openAt); + startDate.setMinutes(0); + const createTravelPlace = { + ...place, + done: false, + idRoute, + endDate, + startDate, + }; + await this.travelPlaceService.create(createTravelPlace); + } + return await this.getRouteById(idRoute, email, lang); + } +}; +exports.RouteService = RouteService; +exports.RouteService = RouteService = __decorate([ + (0, common_1.Injectable)(), + __param(0, (0, typeorm_1.InjectRepository)(route_entity_1.Route)), + __param(1, (0, typeorm_1.InjectRepository)(user_entity_1.User)), + __param(2, (0, typeorm_1.InjectRepository)(town_entity_1.Town)), + __metadata("design:paramtypes", [typeorm_2.Repository, + typeorm_2.Repository, + typeorm_2.Repository, + travel_place_service_1.TravelPlaceService, + place_service_1.PlaceService, + visited_service_1.VisitedService, + user_service_1.UserService, + typeorm_2.DataSource]) +], RouteService); +//# sourceMappingURL=route.service.js.map \ No newline at end of file diff --git a/backend/dist/route/route.service.js.map b/backend/dist/route/route.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4e48f1d2d2c93df4b86e001e5d57cf9055719247 --- /dev/null +++ b/backend/dist/route/route.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"route.service.js","sourceRoot":"","sources":["../../src/route/route.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/route/utils/math.d.ts b/backend/dist/route/utils/math.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..b462854a7d2c8c294a791ad2c1ac553eae85af69 --- /dev/null +++ b/backend/dist/route/utils/math.d.ts @@ -0,0 +1,6 @@ +export interface DataFrame { + [key: number]: number[]; +} +export interface Series { + [index: number]: number; +} diff --git a/backend/dist/route/utils/math.js b/backend/dist/route/utils/math.js new file mode 100644 index 0000000000000000000000000000000000000000..4edf4623ecb46083995e9ee648ab85550caa3671 --- /dev/null +++ b/backend/dist/route/utils/math.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=math.js.map \ No newline at end of file diff --git a/backend/dist/route/utils/math.js.map b/backend/dist/route/utils/math.js.map new file mode 100644 index 0000000000000000000000000000000000000000..ad6c45d772e912afa174568fca2f4e16b08a7584 --- /dev/null +++ b/backend/dist/route/utils/math.js.map @@ -0,0 +1 @@ +{"version":3,"file":"math.js","sourceRoot":"","sources":["../../../src/route/utils/math.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/backend/dist/route/utils/recommendations.d.ts b/backend/dist/route/utils/recommendations.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..887c3c78ba326add4c01aad7f7812fbac36e5c70 --- /dev/null +++ b/backend/dist/route/utils/recommendations.d.ts @@ -0,0 +1,14 @@ +import { RecommendPlace } from '../dto/recommend-route.dto'; +export declare class RecommendationsSystem { + private visited; + private candidates; + private start; + private end; + constructor(visited: RecommendPlace[], candidates: RecommendPlace[], start: number, end: number); + private getCategories; + private oneHotEncode; + private rankVisited; + private rankCandidates; + takeTopNValid(recommendations: [number, number][]): RecommendPlace[]; + recommend(): RecommendPlace[]; +} diff --git a/backend/dist/route/utils/recommendations.js b/backend/dist/route/utils/recommendations.js new file mode 100644 index 0000000000000000000000000000000000000000..638dcc6fdd24306dd36ed6461f6924ad6f160a6b --- /dev/null +++ b/backend/dist/route/utils/recommendations.js @@ -0,0 +1,99 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.RecommendationsSystem = void 0; +const sort_1 = require("./sort"); +class RecommendationsSystem { + constructor(visited, candidates, start, end) { + this.visited = []; + this.candidates = []; + this.start = 0; + this.end = 0; + this.visited = visited; + this.candidates = candidates; + this.start = start; + this.end = end; + } + getCategories(places) { + const categories = new Set(); + for (const place of places) { + for (const category of place.categories) { + categories.add(category); + } + } + return Array.from(categories); + } + oneHotEncode(categories, placesToEncode) { + const data = {}; + for (const category of categories) { + data[category] = []; + for (const place of placesToEncode) { + data[category].push(place.categories.includes(category) ? 1 : 0); + } + } + return data; + } + rankVisited(visited) { + const visitedCategories = this.getCategories(visited); + const visitedEncoded = this.oneHotEncode(visitedCategories, visited); + const grades = visited.map((place) => place.rating); + const dataframe = visitedEncoded; + const result = {}; + for (const category in dataframe) { + result[category] = dataframe[category].reduce((sum, value, index) => sum + value * grades[index], 0); + } + const sumResult = Object.values(result).reduce((a, b) => a + b, 0); + for (const category in result) { + result[category] /= sumResult; + } + return result; + } + rankCandidates(candidates, visited) { + const visitedCategories = Object.keys(visited).map(Number); + const candidatesEncoded = this.oneHotEncode(visitedCategories, candidates); + const dataframe = candidatesEncoded; + const result = candidates.map((_, i) => { + return visitedCategories.reduce((sum, category) => { + return sum + dataframe[category][i] * visited[category]; + }, 0); + }); + const ranked = candidates.map((place, i) => [place.idPlace, result[i]]); + ranked.sort(sort_1.customSort); + return ranked; + } + takeTopNValid(recommendations) { + const validRecommendations = []; + for (const [id] of recommendations) { + const place = this.candidates.find((candidate) => candidate.idPlace === id); + if (place) { + validRecommendations.push(place); + } + } + validRecommendations.sort(sort_1.sortByClose); + const chosen = []; + let currentTime = this.start; + for (const place of validRecommendations) { + const maxStart = Math.max(currentTime, place.openAt); + const minEnd = Math.min(this.end, place.closeAt); + if (minEnd - 2 >= maxStart) { + if ((currentTime + 2) % 24 <= this.end) { + place.openAt = Math.max(currentTime, place.openAt); + place.closeAt = (place.openAt + 2) % 24; + chosen.push(place); + currentTime = (currentTime + 2) % 24; + } + else { + break; + } + } + } + return chosen; + } + recommend() { + const visitedRanking = this.rankVisited(this.visited); + const candidatesRanked = this.rankCandidates(this.candidates, visitedRanking); + const chosen = this.takeTopNValid(candidatesRanked); + return chosen; + } +} +exports.RecommendationsSystem = RecommendationsSystem; +//# sourceMappingURL=recommendations.js.map \ No newline at end of file diff --git a/backend/dist/route/utils/recommendations.js.map b/backend/dist/route/utils/recommendations.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c2eede6495890e11f655a169008efd4b73d5ce57 --- /dev/null +++ b/backend/dist/route/utils/recommendations.js.map @@ -0,0 +1 @@ +{"version":3,"file":"recommendations.js","sourceRoot":"","sources":["../../../src/route/utils/recommendations.ts"],"names":[],"mappings":";;;AAEA,iCAAiD;AAEjD,MAAa,qBAAqB;IAMhC,YAAY,OAAyB,EAAE,UAA4B,EAAE,KAAa,EAAE,GAAW;QALvF,YAAO,GAAqB,EAAE,CAAC;QAC/B,eAAU,GAAqB,EAAE,CAAC;QAClC,UAAK,GAAW,CAAC,CAAC;QAClB,QAAG,GAAW,CAAC,CAAC;QAGtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEO,aAAa,CAAC,MAAwB;QAC5C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACxC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAEO,YAAY,CAAC,UAAoB,EAAE,cAAgC;QACzE,MAAM,IAAI,GAAc,EAAE,CAAC;QAC3B,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACpB,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,WAAW,CAAC,OAAyB;QAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEpD,MAAM,SAAS,GAAc,cAAc,CAAC;QAE5C,MAAM,MAAM,GAAW,EAAE,CAAC;QAC1B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACvG,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,cAAc,CAAC,UAA4B,EAAE,OAAe;QAClE,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAE3E,MAAM,SAAS,GAAc,iBAAiB,CAAC;QAE/C,MAAM,MAAM,GAAa,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/C,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;gBAChD,OAAO,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1D,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAuB,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,MAAM,CAAC,IAAI,CAAC,iBAAU,CAAC,CAAC;QAExB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,eAAmC;QAC/C,MAAM,oBAAoB,GAAqB,EAAE,CAAC;QAGlD,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;YAC5E,IAAI,KAAK,EAAE,CAAC;gBACV,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QAED,oBAAoB,CAAC,IAAI,CAAC,kBAAW,CAAC,CAAC;QAEvC,MAAM,MAAM,GAAqB,EAAE,CAAC;QACpC,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;QAE7B,KAAK,MAAM,KAAK,IAAI,oBAAoB,EAAE,CAAC;YAEzC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;YAEjD,IAAI,MAAM,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAE3B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBAEvC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;oBACnD,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;oBAExC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAGnB,WAAW,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;gBACvC,CAAC;qBAAM,CAAC;oBAEN,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,SAAS;QACP,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAxHD,sDAwHC"} \ No newline at end of file diff --git a/backend/dist/route/utils/sort.d.ts b/backend/dist/route/utils/sort.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..cfb5428fb4218d6e4a072fbbae2335a23fb4050e --- /dev/null +++ b/backend/dist/route/utils/sort.d.ts @@ -0,0 +1,3 @@ +import { RecommendPlace } from '../dto/recommend-route.dto'; +export declare function customSort(a: [number, number], b: [number, number]): number; +export declare const sortByClose: (a: RecommendPlace, b: RecommendPlace) => number; diff --git a/backend/dist/route/utils/sort.js b/backend/dist/route/utils/sort.js new file mode 100644 index 0000000000000000000000000000000000000000..ea52c91845a66950151f1322f754546543a2463a --- /dev/null +++ b/backend/dist/route/utils/sort.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.sortByClose = exports.customSort = void 0; +function customSort(a, b) { + return b[1] - a[1]; +} +exports.customSort = customSort; +const sortByClose = (a, b) => { + return a.closeAt - b.closeAt; +}; +exports.sortByClose = sortByClose; +//# sourceMappingURL=sort.js.map \ No newline at end of file diff --git a/backend/dist/route/utils/sort.js.map b/backend/dist/route/utils/sort.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6fa03ea936e0e52fad9dad97aa46a969b92f165f --- /dev/null +++ b/backend/dist/route/utils/sort.js.map @@ -0,0 +1 @@ +{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../src/route/utils/sort.ts"],"names":[],"mappings":";;;AAEA,SAAgB,UAAU,CAAC,CAAmB,EAAE,CAAmB;IACjE,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACrB,CAAC;AAFD,gCAEC;AAEM,MAAM,WAAW,GAAG,CAAC,CAAiB,EAAE,CAAiB,EAAE,EAAE;IAClE,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;AAC/B,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB"} \ No newline at end of file diff --git a/backend/dist/shared/dto/payload-jwt.dto.d.ts b/backend/dist/shared/dto/payload-jwt.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..cdf10eadeb8e20e8b2e1d00ed8b5cb99fd209f8b --- /dev/null +++ b/backend/dist/shared/dto/payload-jwt.dto.d.ts @@ -0,0 +1,4 @@ +export declare class PayloadJwtDto { + email: string; + role: string; +} diff --git a/backend/dist/shared/dto/payload-jwt.dto.js b/backend/dist/shared/dto/payload-jwt.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..3e6c6e43d60b3ab54c47def0b05959e1bcb16561 --- /dev/null +++ b/backend/dist/shared/dto/payload-jwt.dto.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.PayloadJwtDto = void 0; +class PayloadJwtDto { +} +exports.PayloadJwtDto = PayloadJwtDto; +//# sourceMappingURL=payload-jwt.dto.js.map \ No newline at end of file diff --git a/backend/dist/shared/dto/payload-jwt.dto.js.map b/backend/dist/shared/dto/payload-jwt.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4de40b47feff91af3908b9312c00aca911b751cf --- /dev/null +++ b/backend/dist/shared/dto/payload-jwt.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"payload-jwt.dto.js","sourceRoot":"","sources":["../../../src/shared/dto/payload-jwt.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;CAGzB;AAHD,sCAGC"} \ No newline at end of file diff --git a/backend/dist/shared/enum/admin-role.enum.d.ts b/backend/dist/shared/enum/admin-role.enum.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..f021686ed6de92d3002deb97384672cb8fb11307 --- /dev/null +++ b/backend/dist/shared/enum/admin-role.enum.d.ts @@ -0,0 +1,12 @@ +export declare enum ADMIN_ROLE { + ADMIN = "admin", + SUPERADMIN = "superadmin" +} +export declare const USER_ROLE = "user"; +export declare enum ALL_ROLES { + SUPER_ADMIN = "superadmin", + ADMIN = "admin", + USER = "user" +} +export declare const ADMIN_ROLES: ADMIN_ROLE[]; +export declare const SUPERADMIN_ROLES: ADMIN_ROLE[]; diff --git a/backend/dist/shared/enum/admin-role.enum.js b/backend/dist/shared/enum/admin-role.enum.js new file mode 100644 index 0000000000000000000000000000000000000000..cbe109197e1ead828bbd15edb37ef88811732525 --- /dev/null +++ b/backend/dist/shared/enum/admin-role.enum.js @@ -0,0 +1,18 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.SUPERADMIN_ROLES = exports.ADMIN_ROLES = exports.ALL_ROLES = exports.USER_ROLE = exports.ADMIN_ROLE = void 0; +var ADMIN_ROLE; +(function (ADMIN_ROLE) { + ADMIN_ROLE["ADMIN"] = "admin"; + ADMIN_ROLE["SUPERADMIN"] = "superadmin"; +})(ADMIN_ROLE || (exports.ADMIN_ROLE = ADMIN_ROLE = {})); +exports.USER_ROLE = 'user'; +var ALL_ROLES; +(function (ALL_ROLES) { + ALL_ROLES["SUPER_ADMIN"] = "superadmin"; + ALL_ROLES["ADMIN"] = "admin"; + ALL_ROLES["USER"] = "user"; +})(ALL_ROLES || (exports.ALL_ROLES = ALL_ROLES = {})); +exports.ADMIN_ROLES = [ADMIN_ROLE.ADMIN, ADMIN_ROLE.SUPERADMIN]; +exports.SUPERADMIN_ROLES = [ADMIN_ROLE.SUPERADMIN]; +//# sourceMappingURL=admin-role.enum.js.map \ No newline at end of file diff --git a/backend/dist/shared/enum/admin-role.enum.js.map b/backend/dist/shared/enum/admin-role.enum.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a22e33cd95fbdd29efa7682c373734649ff1e9f4 --- /dev/null +++ b/backend/dist/shared/enum/admin-role.enum.js.map @@ -0,0 +1 @@ +{"version":3,"file":"admin-role.enum.js","sourceRoot":"","sources":["../../../src/shared/enum/admin-role.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,6BAAe,CAAA;IACf,uCAAyB,CAAA;AAC3B,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB;AAEY,QAAA,SAAS,GAAG,MAAM,CAAC;AAEhC,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,uCAAmC,CAAA;IACnC,4BAAwB,CAAA;IACxB,0BAAgB,CAAA;AAClB,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAEY,QAAA,WAAW,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;AACxD,QAAA,gBAAgB,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC"} \ No newline at end of file diff --git a/backend/dist/shared/enum/languages.enum.d.ts b/backend/dist/shared/enum/languages.enum.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..fbb0e7d39c24eb89de6ff7b657758e3262e3b7b3 --- /dev/null +++ b/backend/dist/shared/enum/languages.enum.d.ts @@ -0,0 +1,4 @@ +export declare enum LANGUAGES { + EN = "en", + ES = "es" +} diff --git a/backend/dist/shared/enum/languages.enum.js b/backend/dist/shared/enum/languages.enum.js new file mode 100644 index 0000000000000000000000000000000000000000..7bb15cb296860beafbba766f8fe4680cfca97148 --- /dev/null +++ b/backend/dist/shared/enum/languages.enum.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.LANGUAGES = void 0; +var LANGUAGES; +(function (LANGUAGES) { + LANGUAGES["EN"] = "en"; + LANGUAGES["ES"] = "es"; +})(LANGUAGES || (exports.LANGUAGES = LANGUAGES = {})); +//# sourceMappingURL=languages.enum.js.map \ No newline at end of file diff --git a/backend/dist/shared/enum/languages.enum.js.map b/backend/dist/shared/enum/languages.enum.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2eef8ef55aa74021901b58a41896457f1f373d1f --- /dev/null +++ b/backend/dist/shared/enum/languages.enum.js.map @@ -0,0 +1 @@ +{"version":3,"file":"languages.enum.js","sourceRoot":"","sources":["../../../src/shared/enum/languages.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,sBAAS,CAAA;IACT,sBAAS,CAAA;AACX,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB"} \ No newline at end of file diff --git a/backend/dist/shared/enum/user-status.enum.d.ts b/backend/dist/shared/enum/user-status.enum.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..cf51a0b9e0fc490e8f53b2d676025dd3bdef7822 --- /dev/null +++ b/backend/dist/shared/enum/user-status.enum.d.ts @@ -0,0 +1,4 @@ +export declare enum UserStatus { + ACTIVE = "active", + INACTIVE = "inactive" +} diff --git a/backend/dist/shared/enum/user-status.enum.js b/backend/dist/shared/enum/user-status.enum.js new file mode 100644 index 0000000000000000000000000000000000000000..3f3cf072a4b78f384ddb6282d68cd2126aad8aa2 --- /dev/null +++ b/backend/dist/shared/enum/user-status.enum.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UserStatus = void 0; +var UserStatus; +(function (UserStatus) { + UserStatus["ACTIVE"] = "active"; + UserStatus["INACTIVE"] = "inactive"; +})(UserStatus || (exports.UserStatus = UserStatus = {})); +//# sourceMappingURL=user-status.enum.js.map \ No newline at end of file diff --git a/backend/dist/shared/enum/user-status.enum.js.map b/backend/dist/shared/enum/user-status.enum.js.map new file mode 100644 index 0000000000000000000000000000000000000000..335f43a4657bf15f376431d2e5b9b85b84b20276 --- /dev/null +++ b/backend/dist/shared/enum/user-status.enum.js.map @@ -0,0 +1 @@ +{"version":3,"file":"user-status.enum.js","sourceRoot":"","sources":["../../../src/shared/enum/user-status.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,mCAAqB,CAAA;AACvB,CAAC,EAHW,UAAU,0BAAV,UAAU,QAGrB"} \ No newline at end of file diff --git a/backend/dist/shared/interceptors/file-save.interceptor.d.ts b/backend/dist/shared/interceptors/file-save.interceptor.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..d3a3396381c342206a794d4f039cf4966b9c3ff6 --- /dev/null +++ b/backend/dist/shared/interceptors/file-save.interceptor.d.ts @@ -0,0 +1 @@ +export declare const fileInterceptor: (fieldName: string, dest: string, validExt: string[]) => import("@nestjs/common").Type>; diff --git a/backend/dist/shared/interceptors/file-save.interceptor.js b/backend/dist/shared/interceptors/file-save.interceptor.js new file mode 100644 index 0000000000000000000000000000000000000000..d48bc67fc6d4aed0bf07146e0ae7717a87bd7d68 --- /dev/null +++ b/backend/dist/shared/interceptors/file-save.interceptor.js @@ -0,0 +1,25 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.fileInterceptor = void 0; +const common_1 = require("@nestjs/common"); +const platform_express_1 = require("@nestjs/platform-express"); +const multer_1 = require("multer"); +const path_1 = require("path"); +const uuid_1 = require("uuid"); +const fileInterceptor = (fieldName, dest, validExt) => (0, platform_express_1.FileInterceptor)(fieldName, { + storage: (0, multer_1.diskStorage)({ + destination: (req, file, callback) => { + callback(null, dest); + }, + filename: (req, file, callback) => { + const extension = (0, path_1.extname)(file.originalname); + if (!validExt.includes(extension)) { + return callback(new common_1.BadRequestException('Only image files are allowed!'), ''); + } + const uniqueFilename = `${(0, uuid_1.v4)()}${extension}`; + callback(null, uniqueFilename); + }, + }), +}); +exports.fileInterceptor = fileInterceptor; +//# sourceMappingURL=file-save.interceptor.js.map \ No newline at end of file diff --git a/backend/dist/shared/interceptors/file-save.interceptor.js.map b/backend/dist/shared/interceptors/file-save.interceptor.js.map new file mode 100644 index 0000000000000000000000000000000000000000..8c1a4f9993572e4458c091215cd9003cc8b608bb --- /dev/null +++ b/backend/dist/shared/interceptors/file-save.interceptor.js.map @@ -0,0 +1 @@ +{"version":3,"file":"file-save.interceptor.js","sourceRoot":"","sources":["../../../src/shared/interceptors/file-save.interceptor.ts"],"names":[],"mappings":";;;AACA,2CAAqD;AACrD,+DAA2D;AAC3D,mCAAqC;AACrC,+BAA+B;AAC/B,+BAAoC;AAE7B,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAE,IAAY,EAAE,QAAkB,EAAE,EAAE,CACrF,IAAA,kCAAe,EAAC,SAAS,EAAE;IACzB,OAAO,EAAE,IAAA,oBAAW,EAAC;QACnB,WAAW,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACnC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,QAAQ,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YAChC,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,OAAO,QAAQ,CAAC,IAAI,4BAAmB,CAAC,+BAA+B,CAAC,EAAE,EAAE,CAAC,CAAC;YAChF,CAAC;YACD,MAAM,cAAc,GAAG,GAAG,IAAA,SAAM,GAAE,GAAG,SAAS,EAAE,CAAC;YACjD,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACjC,CAAC;KACF,CAAC;CACH,CAAC,CAAC;AAfQ,QAAA,eAAe,mBAevB"} \ No newline at end of file diff --git a/backend/dist/shared/pipe/file-validation.pipe.d.ts b/backend/dist/shared/pipe/file-validation.pipe.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..8ef575ef567f11c55d1d083c0c333fcef784aac3 --- /dev/null +++ b/backend/dist/shared/pipe/file-validation.pipe.d.ts @@ -0,0 +1,4 @@ +import { PipeTransform } from '@nestjs/common'; +export declare class FileValidationPipe implements PipeTransform { + transform(value: any): any; +} diff --git a/backend/dist/shared/pipe/file-validation.pipe.js b/backend/dist/shared/pipe/file-validation.pipe.js new file mode 100644 index 0000000000000000000000000000000000000000..2c375a8f1b6c546a1f06f1282471586ea062d4a6 --- /dev/null +++ b/backend/dist/shared/pipe/file-validation.pipe.js @@ -0,0 +1,24 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FileValidationPipe = void 0; +const common_1 = require("@nestjs/common"); +let FileValidationPipe = class FileValidationPipe { + transform(value) { + const size = value.size; + if (size > 1000000) { + throw new common_1.BadRequestException('File is too large'); + } + return value; + } +}; +exports.FileValidationPipe = FileValidationPipe; +exports.FileValidationPipe = FileValidationPipe = __decorate([ + (0, common_1.Injectable)() +], FileValidationPipe); +//# sourceMappingURL=file-validation.pipe.js.map \ No newline at end of file diff --git a/backend/dist/shared/pipe/file-validation.pipe.js.map b/backend/dist/shared/pipe/file-validation.pipe.js.map new file mode 100644 index 0000000000000000000000000000000000000000..4b175e51e4964f7e9f5ea0ea05fbc2798086020c --- /dev/null +++ b/backend/dist/shared/pipe/file-validation.pipe.js.map @@ -0,0 +1 @@ +{"version":3,"file":"file-validation.pipe.js","sourceRoot":"","sources":["../../../src/shared/pipe/file-validation.pipe.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAgF;AAGzE,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,SAAS,CAAC,KAAU;QAClB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,IAAI,GAAG,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,4BAAmB,CAAC,mBAAmB,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AARY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CAQ9B"} \ No newline at end of file diff --git a/backend/dist/state/dto/create-state.dto.d.ts b/backend/dist/state/dto/create-state.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..930fa1672f09deed6d68f0dc5379724223bf1d80 --- /dev/null +++ b/backend/dist/state/dto/create-state.dto.d.ts @@ -0,0 +1,4 @@ +export declare class CreateStateDto { + name: string; + imageName: string; +} diff --git a/backend/dist/state/dto/create-state.dto.js b/backend/dist/state/dto/create-state.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..2faa0530ad2a62ab73b3c3394623da0b3c231646 --- /dev/null +++ b/backend/dist/state/dto/create-state.dto.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreateStateDto = void 0; +class CreateStateDto { +} +exports.CreateStateDto = CreateStateDto; +//# sourceMappingURL=create-state.dto.js.map \ No newline at end of file diff --git a/backend/dist/state/dto/create-state.dto.js.map b/backend/dist/state/dto/create-state.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b0b6070a59a4435387b24627dc78e6cc4f975663 --- /dev/null +++ b/backend/dist/state/dto/create-state.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-state.dto.js","sourceRoot":"","sources":["../../../src/state/dto/create-state.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAc;CAG1B;AAHD,wCAGC"} \ No newline at end of file diff --git a/backend/dist/state/dto/state-res.dto.d.ts b/backend/dist/state/dto/state-res.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..3d616611f203bd31ca96425cb64a736118e4df60 --- /dev/null +++ b/backend/dist/state/dto/state-res.dto.d.ts @@ -0,0 +1,5 @@ +export declare class StateResponseDto { + stateId: number; + name: string; + imageURL: string; +} diff --git a/backend/dist/state/dto/state-res.dto.js b/backend/dist/state/dto/state-res.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..62fe67f4c2be066cb0c731fe9aca86f418481c9a --- /dev/null +++ b/backend/dist/state/dto/state-res.dto.js @@ -0,0 +1,29 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StateResponseDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +class StateResponseDto { +} +exports.StateResponseDto = StateResponseDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Number) +], StateResponseDto.prototype, "stateId", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], StateResponseDto.prototype, "name", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], StateResponseDto.prototype, "imageURL", void 0); +//# sourceMappingURL=state-res.dto.js.map \ No newline at end of file diff --git a/backend/dist/state/dto/state-res.dto.js.map b/backend/dist/state/dto/state-res.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..cef0f34affe048924cd3434058a6de5aac8228f1 --- /dev/null +++ b/backend/dist/state/dto/state-res.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"state-res.dto.js","sourceRoot":"","sources":["../../../src/state/dto/state-res.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,gBAAgB;CAO5B;AAPD,4CAOC;AALC;IADC,IAAA,qBAAW,GAAE;;iDACE;AAEhB;IADC,IAAA,qBAAW,GAAE;;8CACD;AAEb;IADC,IAAA,qBAAW,GAAE;;kDACG"} \ No newline at end of file diff --git a/backend/dist/state/entities/state.entity.d.ts b/backend/dist/state/entities/state.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..ff61c75b69704fb7766c6342b22b34d0998ff47c --- /dev/null +++ b/backend/dist/state/entities/state.entity.d.ts @@ -0,0 +1,7 @@ +import { Town } from 'src/town/entities/town.entity'; +export declare class State { + stateId: number; + towns: Town[]; + name: string; + imageName: string; +} diff --git a/backend/dist/state/entities/state.entity.js b/backend/dist/state/entities/state.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..99c4fb7171c38182c515f617cd5d6af80ccc9351 --- /dev/null +++ b/backend/dist/state/entities/state.entity.js @@ -0,0 +1,37 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.State = void 0; +const town_entity_1 = require("../../town/entities/town.entity"); +const typeorm_1 = require("typeorm"); +let State = class State { +}; +exports.State = State; +__decorate([ + (0, typeorm_1.PrimaryColumn)(), + __metadata("design:type", Number) +], State.prototype, "stateId", void 0); +__decorate([ + (0, typeorm_1.OneToMany)(() => town_entity_1.Town, (town) => town.townId), + __metadata("design:type", Array) +], State.prototype, "towns", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], State.prototype, "name", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], State.prototype, "imageName", void 0); +exports.State = State = __decorate([ + (0, typeorm_1.Entity)() +], State); +//# sourceMappingURL=state.entity.js.map \ No newline at end of file diff --git a/backend/dist/state/entities/state.entity.js.map b/backend/dist/state/entities/state.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..11039ff0d8a12af4767bdbeae831586cf72ea3f7 --- /dev/null +++ b/backend/dist/state/entities/state.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"state.entity.js","sourceRoot":"","sources":["../../../src/state/entities/state.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAAqD;AACrD,qCAAmE;AAG5D,IAAM,KAAK,GAAX,MAAM,KAAK;CAYjB,CAAA;AAZY,sBAAK;AAEhB;IADC,IAAA,uBAAa,GAAE;;sCACA;AAGhB;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;;oCAC/B;AAGd;IADC,IAAA,gBAAM,GAAE;;mCACI;AAGb;IADC,IAAA,gBAAM,GAAE;;wCACS;gBAXP,KAAK;IADjB,IAAA,gBAAM,GAAE;GACI,KAAK,CAYjB"} \ No newline at end of file diff --git a/backend/dist/state/state.controller.d.ts b/backend/dist/state/state.controller.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..0792eb3dd7e565c577b6d0bf8e992b97fc5db763 --- /dev/null +++ b/backend/dist/state/state.controller.d.ts @@ -0,0 +1,7 @@ +import { StateService } from './state.service'; +import { StateResponseDto } from './dto/state-res.dto'; +export declare class StateController { + private readonly stateService; + constructor(stateService: StateService); + findAll(): Promise; +} diff --git a/backend/dist/state/state.controller.js b/backend/dist/state/state.controller.js new file mode 100644 index 0000000000000000000000000000000000000000..c17055130aeeeabf72f0e26984b05da46bec421d --- /dev/null +++ b/backend/dist/state/state.controller.js @@ -0,0 +1,42 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StateController = void 0; +const common_1 = require("@nestjs/common"); +const state_service_1 = require("./state.service"); +const swagger_1 = require("@nestjs/swagger"); +const state_res_dto_1 = require("./dto/state-res.dto"); +let StateController = class StateController { + constructor(stateService) { + this.stateService = stateService; + } + async findAll() { + const states = await this.stateService.findAll(); + return states; + } +}; +exports.StateController = StateController; +__decorate([ + (0, swagger_1.ApiCreatedResponse)({ + isArray: true, + type: state_res_dto_1.StateResponseDto, + }), + (0, common_1.Get)(), + __metadata("design:type", Function), + __metadata("design:paramtypes", []), + __metadata("design:returntype", Promise) +], StateController.prototype, "findAll", null); +exports.StateController = StateController = __decorate([ + (0, common_1.Controller)('state'), + (0, swagger_1.ApiTags)('State'), + __metadata("design:paramtypes", [state_service_1.StateService]) +], StateController); +//# sourceMappingURL=state.controller.js.map \ No newline at end of file diff --git a/backend/dist/state/state.controller.js.map b/backend/dist/state/state.controller.js.map new file mode 100644 index 0000000000000000000000000000000000000000..162fd63399f65882be6076d3567643ef3045e56e --- /dev/null +++ b/backend/dist/state/state.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"state.controller.js","sourceRoot":"","sources":["../../src/state/state.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAiD;AACjD,mDAA+C;AAC/C,6CAA8D;AAC9D,uDAAuD;AAIhD,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAA6B,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAAG,CAAC;IAMrD,AAAN,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAuB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QACrE,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAXY,0CAAe;AAOpB;IALL,IAAA,4BAAkB,EAAC;QAClB,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,gCAAgB;KACvB,CAAC;IACD,IAAA,YAAG,GAAE;;;;8CAIL;0BAVU,eAAe;IAF3B,IAAA,mBAAU,EAAC,OAAO,CAAC;IACnB,IAAA,iBAAO,EAAC,OAAO,CAAC;qCAE4B,4BAAY;GAD5C,eAAe,CAW3B"} \ No newline at end of file diff --git a/backend/dist/state/state.module.d.ts b/backend/dist/state/state.module.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..e5350807ae66889f39c7d4b8f0de82df3acedb90 --- /dev/null +++ b/backend/dist/state/state.module.d.ts @@ -0,0 +1,2 @@ +export declare class StateModule { +} diff --git a/backend/dist/state/state.module.js b/backend/dist/state/state.module.js new file mode 100644 index 0000000000000000000000000000000000000000..74fad8324bd535e5b3da03cb2b87822a155ca988 --- /dev/null +++ b/backend/dist/state/state.module.js @@ -0,0 +1,26 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StateModule = void 0; +const common_1 = require("@nestjs/common"); +const state_service_1 = require("./state.service"); +const state_entity_1 = require("./entities/state.entity"); +const typeorm_1 = require("@nestjs/typeorm"); +const state_controller_1 = require("./state.controller"); +let StateModule = class StateModule { +}; +exports.StateModule = StateModule; +exports.StateModule = StateModule = __decorate([ + (0, common_1.Module)({ + controllers: [state_controller_1.StateController], + providers: [state_service_1.StateService], + imports: [typeorm_1.TypeOrmModule.forFeature([state_entity_1.State])], + exports: [state_service_1.StateService], + }) +], StateModule); +//# sourceMappingURL=state.module.js.map \ No newline at end of file diff --git a/backend/dist/state/state.module.js.map b/backend/dist/state/state.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..58f0138d7498c16a03322249af3a829197deb553 --- /dev/null +++ b/backend/dist/state/state.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"state.module.js","sourceRoot":"","sources":["../../src/state/state.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,mDAA+C;AAC/C,0DAAgD;AAChD,6CAAgD;AAChD,yDAAqD;AAQ9C,IAAM,WAAW,GAAjB,MAAM,WAAW;CAAG,CAAA;AAAd,kCAAW;sBAAX,WAAW;IANvB,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,kCAAe,CAAC;QAC9B,SAAS,EAAE,CAAC,4BAAY,CAAC;QACzB,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,oBAAK,CAAC,CAAC,CAAC;QAC5C,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,WAAW,CAAG"} \ No newline at end of file diff --git a/backend/dist/state/state.service.d.ts b/backend/dist/state/state.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..63eb550d3920cd944a45e24cb174213eb6aea8a6 --- /dev/null +++ b/backend/dist/state/state.service.d.ts @@ -0,0 +1,15 @@ +import { CreateStateDto } from './dto/create-state.dto'; +import { State } from './entities/state.entity'; +import { Repository } from 'typeorm'; +import { StateResponseDto } from './dto/state-res.dto'; +export declare class StateService { + private stateRepository; + constructor(stateRepository: Repository); + create(createStateDto: CreateStateDto): Promise; + findAll(): Promise>; + findOne(id: number): Promise<{ + stateId: number; + name: string; + imageURL: string; + }>; +} diff --git a/backend/dist/state/state.service.js b/backend/dist/state/state.service.js new file mode 100644 index 0000000000000000000000000000000000000000..fc71c4cd22e36d79802433dcd1f1564548d03ace --- /dev/null +++ b/backend/dist/state/state.service.js @@ -0,0 +1,56 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.StateService = void 0; +const common_1 = require("@nestjs/common"); +const typeorm_1 = require("@nestjs/typeorm"); +const state_entity_1 = require("./entities/state.entity"); +const typeorm_2 = require("typeorm"); +const server_contants_1 = require("../constants/server.contants"); +let StateService = class StateService { + constructor(stateRepository) { + this.stateRepository = stateRepository; + } + async create(createStateDto) { + await this.stateRepository.save(createStateDto); + } + async findAll() { + const states = await this.stateRepository.find(); + const statesResponse = states.map(({ imageName, name, stateId }) => { + return { + stateId, + name, + imageURL: `${server_contants_1.ServerConstants.HOST}/states/${imageName}`, + }; + }); + return statesResponse; + } + async findOne(id) { + const state = await this.stateRepository.findOneBy({ stateId: id }); + if (!state) + return null; + return { + stateId: state.stateId, + name: state.name, + imageURL: `${server_contants_1.ServerConstants.HOST}/states/${state.imageName}`, + }; + } +}; +exports.StateService = StateService; +exports.StateService = StateService = __decorate([ + (0, common_1.Injectable)(), + __param(0, (0, typeorm_1.InjectRepository)(state_entity_1.State)), + __metadata("design:paramtypes", [typeorm_2.Repository]) +], StateService); +//# sourceMappingURL=state.service.js.map \ No newline at end of file diff --git a/backend/dist/state/state.service.js.map b/backend/dist/state/state.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..5a903158802b96d75e2c17c2ea51bad44b17cea3 --- /dev/null +++ b/backend/dist/state/state.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"state.service.js","sourceRoot":"","sources":["../../src/state/state.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,6CAAmD;AACnD,0DAAgD;AAChD,qCAAqC;AACrC,kEAAgE;AAIzD,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YAA6C,eAAkC;QAAlC,oBAAe,GAAf,eAAe,CAAmB;IAAG,CAAC;IAEnF,KAAK,CAAC,MAAM,CAAC,cAA8B;QACzC,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,cAAc,GAA4B,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;YAC1F,OAAO;gBACL,OAAO;gBACP,IAAI;gBACJ,QAAQ,EAAE,GAAG,iCAAe,CAAC,IAAI,WAAW,SAAS,EAAE;aACxD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,GAAG,iCAAe,CAAC,IAAI,WAAW,KAAK,CAAC,SAAS,EAAE;SAC9D,CAAC;IACJ,CAAC;CACF,CAAA;AA7BY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;IAEE,WAAA,IAAA,0BAAgB,EAAC,oBAAK,CAAC,CAAA;qCAA0B,oBAAU;GAD7D,YAAY,CA6BxB"} \ No newline at end of file diff --git a/backend/dist/town/dto/create-town-trad.dto.d.ts b/backend/dist/town/dto/create-town-trad.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..edbe3f1dbfcd86bcd264f8873e6284a9130c8766 --- /dev/null +++ b/backend/dist/town/dto/create-town-trad.dto.d.ts @@ -0,0 +1,6 @@ +import { LANGUAGES } from 'src/shared/enum/languages.enum'; +export declare class CreateTownTraductionDto { + townId: number; + language: LANGUAGES; + description: string; +} diff --git a/backend/dist/town/dto/create-town-trad.dto.js b/backend/dist/town/dto/create-town-trad.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..2494969f79eee063eac31112f123c93aa984c007 --- /dev/null +++ b/backend/dist/town/dto/create-town-trad.dto.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreateTownTraductionDto = void 0; +class CreateTownTraductionDto { +} +exports.CreateTownTraductionDto = CreateTownTraductionDto; +//# sourceMappingURL=create-town-trad.dto.js.map \ No newline at end of file diff --git a/backend/dist/town/dto/create-town-trad.dto.js.map b/backend/dist/town/dto/create-town-trad.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..146b339f820a95b13632a4cb34e2ff33017a663f --- /dev/null +++ b/backend/dist/town/dto/create-town-trad.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-town-trad.dto.js","sourceRoot":"","sources":["../../../src/town/dto/create-town-trad.dto.ts"],"names":[],"mappings":";;;AAEA,MAAa,uBAAuB;CAInC;AAJD,0DAIC"} \ No newline at end of file diff --git a/backend/dist/town/dto/create-town.dto.d.ts b/backend/dist/town/dto/create-town.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..709e5d0399ebe871503c1087993d5c433ccd4a19 --- /dev/null +++ b/backend/dist/town/dto/create-town.dto.d.ts @@ -0,0 +1,7 @@ +export declare class CreateTownDto { + name: string; + descriptionES: string; + descriptionEN: string; + imageName: string; + state: number; +} diff --git a/backend/dist/town/dto/create-town.dto.js b/backend/dist/town/dto/create-town.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..d20ebce4b3bdcaf0944b84b4f1a6a35f8bbfb1a7 --- /dev/null +++ b/backend/dist/town/dto/create-town.dto.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreateTownDto = void 0; +class CreateTownDto { + constructor() { + this.imageName = 'default.jpg'; + } +} +exports.CreateTownDto = CreateTownDto; +//# sourceMappingURL=create-town.dto.js.map \ No newline at end of file diff --git a/backend/dist/town/dto/create-town.dto.js.map b/backend/dist/town/dto/create-town.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..61d7d45a31bb1fc806bb56bae841683d94674c2d --- /dev/null +++ b/backend/dist/town/dto/create-town.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-town.dto.js","sourceRoot":"","sources":["../../../src/town/dto/create-town.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IAA1B;QAIE,cAAS,GAAW,aAAa,CAAC;IAEpC,CAAC;CAAA;AAND,sCAMC"} \ No newline at end of file diff --git a/backend/dist/town/dto/createTownReq.dto.d.ts b/backend/dist/town/dto/createTownReq.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..53d681cf40034728747cfcbcbe97ebb70b91152a --- /dev/null +++ b/backend/dist/town/dto/createTownReq.dto.d.ts @@ -0,0 +1,8 @@ +import { Binary } from 'typeorm'; +export declare class CreateTownReqDto { + name: string; + descriptionES: string; + descriptionEN: string; + image: Binary; + state: number; +} diff --git a/backend/dist/town/dto/createTownReq.dto.js b/backend/dist/town/dto/createTownReq.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..fe75f071790f6a111f3be07fae17e6f1fe5871f1 --- /dev/null +++ b/backend/dist/town/dto/createTownReq.dto.js @@ -0,0 +1,44 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreateTownReqDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +const typeorm_1 = require("typeorm"); +class CreateTownReqDto { +} +exports.CreateTownReqDto = CreateTownReqDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreateTownReqDto.prototype, "name", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ + type: String, + description: 'Language content for Spanish (es)', + }), + __metadata("design:type", String) +], CreateTownReqDto.prototype, "descriptionES", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ + type: String, + description: 'Language content for English (en)', + }), + __metadata("design:type", String) +], CreateTownReqDto.prototype, "descriptionEN", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ type: 'string', format: 'binary' }), + __metadata("design:type", typeorm_1.Binary) +], CreateTownReqDto.prototype, "image", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Number) +], CreateTownReqDto.prototype, "state", void 0); +//# sourceMappingURL=createTownReq.dto.js.map \ No newline at end of file diff --git a/backend/dist/town/dto/createTownReq.dto.js.map b/backend/dist/town/dto/createTownReq.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b90e6350da70c59eca1ab7dd47207b7a02cb26c3 --- /dev/null +++ b/backend/dist/town/dto/createTownReq.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"createTownReq.dto.js","sourceRoot":"","sources":["../../../src/town/dto/createTownReq.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qCAAiC;AAEjC,MAAa,gBAAgB;CAoB5B;AApBD,4CAoBC;AAlBC;IADC,IAAA,qBAAW,GAAE;;8CACD;AAMb;IAJC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mCAAmC;KACjD,CAAC;;uDACoB;AAMtB;IAJC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mCAAmC;KACjD,CAAC;;uDACoB;AAGtB;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;8BAC3C,gBAAM;+CAAC;AAEd;IADC,IAAA,qBAAW,GAAE;;+CACA"} \ No newline at end of file diff --git a/backend/dist/town/dto/town-res.dto.d.ts b/backend/dist/town/dto/town-res.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..0e4c15bc50ec906d70ba7bc16f14eb8c820f48c3 --- /dev/null +++ b/backend/dist/town/dto/town-res.dto.d.ts @@ -0,0 +1,7 @@ +export declare class TownResDto { + townId: number; + name: string; + description: string; + imageName: string; + stateId: number; +} diff --git a/backend/dist/town/dto/town-res.dto.js b/backend/dist/town/dto/town-res.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..fc426c6929451be3128bd475e191efca115a478c --- /dev/null +++ b/backend/dist/town/dto/town-res.dto.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TownResDto = void 0; +class TownResDto { +} +exports.TownResDto = TownResDto; +//# sourceMappingURL=town-res.dto.js.map \ No newline at end of file diff --git a/backend/dist/town/dto/town-res.dto.js.map b/backend/dist/town/dto/town-res.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..886190e30d52db6fe79835e2c9ace292957a42b3 --- /dev/null +++ b/backend/dist/town/dto/town-res.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"town-res.dto.js","sourceRoot":"","sources":["../../../src/town/dto/town-res.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,UAAU;CAMtB;AAND,gCAMC"} \ No newline at end of file diff --git a/backend/dist/town/dto/update-town.dto.d.ts b/backend/dist/town/dto/update-town.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..27ba5872a43fd87a8bd54a05beb664f473ef329e --- /dev/null +++ b/backend/dist/town/dto/update-town.dto.d.ts @@ -0,0 +1,5 @@ +export declare class UpdateTownDto { + name: string; + imageName: string; + state: number; +} diff --git a/backend/dist/town/dto/update-town.dto.js b/backend/dist/town/dto/update-town.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..8e56d62ee2e24ba87bd5ac31e2e6696710e7029f --- /dev/null +++ b/backend/dist/town/dto/update-town.dto.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UpdateTownDto = void 0; +class UpdateTownDto { +} +exports.UpdateTownDto = UpdateTownDto; +//# sourceMappingURL=update-town.dto.js.map \ No newline at end of file diff --git a/backend/dist/town/dto/update-town.dto.js.map b/backend/dist/town/dto/update-town.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6ee7fd81f643af9f2252fc4b0db529971a5abc4b --- /dev/null +++ b/backend/dist/town/dto/update-town.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"update-town.dto.js","sourceRoot":"","sources":["../../../src/town/dto/update-town.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;CAIzB;AAJD,sCAIC"} \ No newline at end of file diff --git a/backend/dist/town/entities/town-traduction.entity.d.ts b/backend/dist/town/entities/town-traduction.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..3a2b3cea1c1577de5f6290ea4e055fa14f95cd4b --- /dev/null +++ b/backend/dist/town/entities/town-traduction.entity.d.ts @@ -0,0 +1,6 @@ +import { LANGUAGES } from 'src/shared/enum/languages.enum'; +export declare class TownTraduction { + townId: number; + language: LANGUAGES; + description: string; +} diff --git a/backend/dist/town/entities/town-traduction.entity.js b/backend/dist/town/entities/town-traduction.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..4c0056a0a7c4eb181279267bda98c7dc46e59c2b --- /dev/null +++ b/backend/dist/town/entities/town-traduction.entity.js @@ -0,0 +1,35 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TownTraduction = void 0; +const typeorm_1 = require("typeorm"); +const town_entity_1 = require("./town.entity"); +const languages_enum_1 = require("../../shared/enum/languages.enum"); +let TownTraduction = class TownTraduction { +}; +exports.TownTraduction = TownTraduction; +__decorate([ + (0, typeorm_1.PrimaryColumn)({ name: 'townId' }), + (0, typeorm_1.ManyToOne)(() => town_entity_1.Town, (town) => town.townId), + __metadata("design:type", Number) +], TownTraduction.prototype, "townId", void 0); +__decorate([ + (0, typeorm_1.PrimaryColumn)(), + __metadata("design:type", String) +], TownTraduction.prototype, "language", void 0); +__decorate([ + (0, typeorm_1.Column)({ length: 1024 }), + __metadata("design:type", String) +], TownTraduction.prototype, "description", void 0); +exports.TownTraduction = TownTraduction = __decorate([ + (0, typeorm_1.Entity)() +], TownTraduction); +//# sourceMappingURL=town-traduction.entity.js.map \ No newline at end of file diff --git a/backend/dist/town/entities/town-traduction.entity.js.map b/backend/dist/town/entities/town-traduction.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..318afc79b013dd8a6a13c5f1cd7141dec2bb6fc6 --- /dev/null +++ b/backend/dist/town/entities/town-traduction.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"town-traduction.entity.js","sourceRoot":"","sources":["../../../src/town/entities/town-traduction.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAmE;AACnE,+CAAqC;AACrC,qEAA2D;AAEpD,IAAM,cAAc,GAApB,MAAM,cAAc;CAS1B,CAAA;AATY,wCAAc;AAGzB;IAFC,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;;8CAC9B;AAEf;IADC,IAAA,uBAAa,GAAE;;gDACI;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;mDACL;yBART,cAAc;IAD1B,IAAA,gBAAM,GAAE;GACI,cAAc,CAS1B"} \ No newline at end of file diff --git a/backend/dist/town/entities/town.entity.d.ts b/backend/dist/town/entities/town.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..686c90e83cb2f5126c5c2f7d4325b04d421ff4cd --- /dev/null +++ b/backend/dist/town/entities/town.entity.d.ts @@ -0,0 +1,10 @@ +import { Place } from 'src/place/entities/place.entity'; +import { State } from 'src/state/entities/state.entity'; +export declare class Town { + townId: number; + state: State; + places: Place[]; + name: string; + imageName: string; + active: boolean; +} diff --git a/backend/dist/town/entities/town.entity.js b/backend/dist/town/entities/town.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..d9aacb09c5ef9bdefd65edd512797028ac4d5864 --- /dev/null +++ b/backend/dist/town/entities/town.entity.js @@ -0,0 +1,49 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Town = void 0; +const place_entity_1 = require("../../place/entities/place.entity"); +const state_entity_1 = require("../../state/entities/state.entity"); +const typeorm_1 = require("typeorm"); +let Town = class Town { + constructor() { + this.active = true; + } +}; +exports.Town = Town; +__decorate([ + (0, typeorm_1.PrimaryGeneratedColumn)(), + __metadata("design:type", Number) +], Town.prototype, "townId", void 0); +__decorate([ + (0, typeorm_1.ManyToOne)(() => state_entity_1.State, (state) => state.stateId, { nullable: false, eager: true }), + __metadata("design:type", state_entity_1.State) +], Town.prototype, "state", void 0); +__decorate([ + (0, typeorm_1.OneToMany)(() => place_entity_1.Place, (place) => place.town), + __metadata("design:type", Array) +], Town.prototype, "places", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], Town.prototype, "name", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], Town.prototype, "imageName", void 0); +__decorate([ + (0, typeorm_1.Column)({ default: true }), + __metadata("design:type", Boolean) +], Town.prototype, "active", void 0); +exports.Town = Town = __decorate([ + (0, typeorm_1.Entity)() +], Town); +//# sourceMappingURL=town.entity.js.map \ No newline at end of file diff --git a/backend/dist/town/entities/town.entity.js.map b/backend/dist/town/entities/town.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..12669090e1f55ff944582994a1a672132ff900ce --- /dev/null +++ b/backend/dist/town/entities/town.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"town.entity.js","sourceRoot":"","sources":["../../../src/town/entities/town.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oEAAwD;AACxD,oEAAwD;AACxD,qCAAuF;AAEhF,IAAM,IAAI,GAAV,MAAM,IAAI;IAAV;QAiBL,WAAM,GAAY,IAAI,CAAC;IACzB,CAAC;CAAA,CAAA;AAlBY,oBAAI;AAEf;IADC,IAAA,gCAAsB,GAAE;;oCACV;AAGf;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,oBAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;8BAC5E,oBAAK;mCAAC;AAGb;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,oBAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;;oCAC9B;AAGhB;IADC,IAAA,gBAAM,GAAE;;kCACI;AAGb;IADC,IAAA,gBAAM,GAAE;;uCACS;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;oCACH;eAjBZ,IAAI;IADhB,IAAA,gBAAM,GAAE;GACI,IAAI,CAkBhB"} \ No newline at end of file diff --git a/backend/dist/town/town.controller.d.ts b/backend/dist/town/town.controller.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..f5824667719014063070ef99df94dd383e774e9d --- /dev/null +++ b/backend/dist/town/town.controller.d.ts @@ -0,0 +1,22 @@ +import { TownService } from './town.service'; +import { CreateTownReqDto } from './dto/createTownReq.dto'; +import { CustomAdminRequest } from 'src/auth/admin/interface/customAdminReq'; +export declare class TownController { + private readonly townService; + constructor(townService: TownService); + create(file: any, createTownReqDto: CreateTownReqDto): Promise<{ + message: string; + }>; + findTownsByState(stateId: number, lang: any): Promise; + update(idTown: number, file: any, createTownReqDto: CreateTownReqDto, req: CustomAdminRequest): Promise<{ + message: string; + }>; + findOne(idTown: number): Promise<{ + townId: number; + name: string; + descriptionEN: string; + descriptionES: string; + imageName: string; + stateId: number; + }>; +} diff --git a/backend/dist/town/town.controller.js b/backend/dist/town/town.controller.js new file mode 100644 index 0000000000000000000000000000000000000000..02c3bf0667278a108e6554391da9e14fe44c3330 --- /dev/null +++ b/backend/dist/town/town.controller.js @@ -0,0 +1,135 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TownController = void 0; +const common_1 = require("@nestjs/common"); +const town_service_1 = require("./town.service"); +const swagger_1 = require("@nestjs/swagger"); +const file_validation_pipe_1 = require("../shared/pipe/file-validation.pipe"); +const file_save_interceptor_1 = require("../shared/interceptors/file-save.interceptor"); +const role_decorator_1 = require("../auth/role.decorator"); +const admin_role_enum_1 = require("../shared/enum/admin-role.enum"); +const createTownReq_dto_1 = require("./dto/createTownReq.dto"); +const authAdmin_guard_1 = require("../auth/admin/authAdmin.guard"); +let TownController = class TownController { + constructor(townService) { + this.townService = townService; + } + async create(file, createTownReqDto) { + try { + const createTownDto = { + name: createTownReqDto.name, + imageName: file.filename, + descriptionEN: createTownReqDto.descriptionEN, + descriptionES: createTownReqDto.descriptionES, + state: createTownReqDto.state, + }; + await this.townService.create(createTownDto); + return { message: 'Town created successfully' }; + } + catch (error) { + throw error; + } + } + async findTownsByState(stateId, lang) { + try { + stateId = parseInt(stateId.toString()); + return await this.townService.findTownsByState(stateId, lang); + } + catch (error) { + throw error; + } + } + async update(idTown, file, createTownReqDto, req) { + try { + if (req.admin.idTown.townId != idTown) { + throw new common_1.UnauthorizedException('This is not your assigned town'); + } + const updateTownDto = { + name: createTownReqDto.name, + imageName: file.filename, + descriptionEN: createTownReqDto.descriptionEN, + descriptionES: createTownReqDto.descriptionES, + state: createTownReqDto.state, + }; + await this.townService.update(idTown, updateTownDto); + return { message: 'Town updated successfully' }; + } + catch (error) { + throw error; + } + } + async findOne(idTown) { + try { + return await this.townService.findOne(idTown); + } + catch (error) { + throw error; + } + } +}; +exports.TownController = TownController; +__decorate([ + (0, common_1.UseGuards)(authAdmin_guard_1.AuthAdminGuard), + (0, role_decorator_1.Roles)(admin_role_enum_1.SUPERADMIN_ROLES), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, swagger_1.ApiBody)({ type: createTownReq_dto_1.CreateTownReqDto }), + (0, swagger_1.ApiConsumes)('multipart/form-data'), + (0, common_1.Post)('town'), + (0, common_1.UseInterceptors)((0, file_save_interceptor_1.fileInterceptor)('image', 'static/towns/', ['.jpg', '.jpeg', '.png'])), + __param(0, (0, common_1.UploadedFile)(new file_validation_pipe_1.FileValidationPipe())), + __param(1, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, createTownReq_dto_1.CreateTownReqDto]), + __metadata("design:returntype", Promise) +], TownController.prototype, "create", null); +__decorate([ + (0, swagger_1.ApiParam)({ name: 'stateId', type: Number }), + (0, swagger_1.ApiQuery)({ name: 'lang', type: String }), + (0, common_1.Get)('state/:stateId/town'), + __param(0, (0, common_1.Param)('stateId')), + __param(1, (0, common_1.Query)('lang')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Number, Object]), + __metadata("design:returntype", Promise) +], TownController.prototype, "findTownsByState", null); +__decorate([ + (0, common_1.UseGuards)(authAdmin_guard_1.AuthAdminGuard), + (0, role_decorator_1.Roles)([admin_role_enum_1.ALL_ROLES.ADMIN]), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, swagger_1.ApiBody)({ type: createTownReq_dto_1.CreateTownReqDto }), + (0, swagger_1.ApiConsumes)('multipart/form-data'), + (0, common_1.Patch)('town/:idTown'), + (0, common_1.UseInterceptors)((0, file_save_interceptor_1.fileInterceptor)('image', 'static/towns/', ['.jpg', '.jpeg', '.png'])), + __param(0, (0, common_1.Param)('idTown')), + __param(1, (0, common_1.UploadedFile)(new file_validation_pipe_1.FileValidationPipe())), + __param(2, (0, common_1.Body)()), + __param(3, (0, common_1.Req)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Number, Object, createTownReq_dto_1.CreateTownReqDto, Object]), + __metadata("design:returntype", Promise) +], TownController.prototype, "update", null); +__decorate([ + (0, common_1.Get)('town/:idTown'), + __param(0, (0, common_1.Param)('idTown')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Number]), + __metadata("design:returntype", Promise) +], TownController.prototype, "findOne", null); +exports.TownController = TownController = __decorate([ + (0, common_1.Controller)(), + (0, swagger_1.ApiTags)('Pueblos'), + __metadata("design:paramtypes", [town_service_1.TownService]) +], TownController); +//# sourceMappingURL=town.controller.js.map \ No newline at end of file diff --git a/backend/dist/town/town.controller.js.map b/backend/dist/town/town.controller.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c3b1b39e9aeffa9954c7bbf4072d6254e9291a2d --- /dev/null +++ b/backend/dist/town/town.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"town.controller.js","sourceRoot":"","sources":["../../src/town/town.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAawB;AACxB,iDAA6C;AAC7C,6CAAmG;AACnG,8EAA0E;AAC1E,wFAAgF;AAEhF,2DAAgD;AAChD,oEAA8E;AAC9E,+DAA2D;AAE3D,mEAAgE;AAGzD,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IASnD,AAAN,KAAK,CAAC,MAAM,CAAyC,IAAI,EAAU,gBAAkC;QACnG,IAAI,CAAC;YACH,MAAM,aAAa,GAAkB;gBACnC,IAAI,EAAE,gBAAgB,CAAC,IAAI;gBAC3B,SAAS,EAAE,IAAI,CAAC,QAAQ;gBACxB,aAAa,EAAE,gBAAgB,CAAC,aAAa;gBAC7C,aAAa,EAAE,gBAAgB,CAAC,aAAa;gBAC7C,KAAK,EAAE,gBAAgB,CAAC,KAAK;aAC9B,CAAC;YACF,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAC7C,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAKK,AAAN,KAAK,CAAC,gBAAgB,CAAmB,OAAe,EAAiB,IAAI;QAC3E,IAAI,CAAC;YACH,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvC,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IASK,AAAN,KAAK,CAAC,MAAM,CACO,MAAc,EACS,IAAI,EACpC,gBAAkC,EACnC,GAAuB;QAE9B,IAAI,CAAC;YACH,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC;gBACtC,MAAM,IAAI,8BAAqB,CAAC,gCAAgC,CAAC,CAAC;YACpE,CAAC;YACD,MAAM,aAAa,GAAkB;gBACnC,IAAI,EAAE,gBAAgB,CAAC,IAAI;gBAC3B,SAAS,EAAE,IAAI,CAAC,QAAQ;gBACxB,aAAa,EAAE,gBAAgB,CAAC,aAAa;gBAC7C,aAAa,EAAE,gBAAgB,CAAC,aAAa;gBAC7C,KAAK,EAAE,gBAAgB,CAAC,KAAK;aAC9B,CAAC;YACF,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YACrD,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;QAClD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO,CAAkB,MAAc;QAC3C,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF,CAAA;AA7EY,wCAAc;AAUnB;IAPL,IAAA,kBAAS,EAAC,gCAAc,CAAC;IACzB,IAAA,sBAAK,EAAC,kCAAgB,CAAC;IACvB,IAAA,uBAAa,EAAC,KAAK,CAAC;IACpB,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,oCAAgB,EAAE,CAAC;IACnC,IAAA,qBAAW,EAAC,qBAAqB,CAAC;IAClC,IAAA,aAAI,EAAC,MAAM,CAAC;IACZ,IAAA,wBAAe,EAAC,IAAA,uCAAe,EAAC,OAAO,EAAE,eAAe,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IACxE,WAAA,IAAA,qBAAY,EAAC,IAAI,yCAAkB,EAAE,CAAC,CAAA;IAAQ,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAmB,oCAAgB;;4CAcpG;AAKK;IAHL,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC3C,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACxC,IAAA,YAAG,EAAC,qBAAqB,CAAC;IACH,WAAA,IAAA,cAAK,EAAC,SAAS,CAAC,CAAA;IAAmB,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;;;;sDAOvE;AASK;IAPL,IAAA,kBAAS,EAAC,gCAAc,CAAC;IACzB,IAAA,sBAAK,EAAC,CAAC,2BAAS,CAAC,KAAK,CAAC,CAAC;IACxB,IAAA,uBAAa,EAAC,KAAK,CAAC;IACpB,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,oCAAgB,EAAE,CAAC;IACnC,IAAA,qBAAW,EAAC,qBAAqB,CAAC;IAClC,IAAA,cAAK,EAAC,cAAc,CAAC;IACrB,IAAA,wBAAe,EAAC,IAAA,uCAAe,EAAC,OAAO,EAAE,eAAe,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAEnF,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;IACf,WAAA,IAAA,qBAAY,EAAC,IAAI,yCAAkB,EAAE,CAAC,CAAA;IACtC,WAAA,IAAA,aAAI,GAAE,CAAA;IACN,WAAA,IAAA,YAAG,GAAE,CAAA;;qDADoB,oCAAgB;;4CAmB3C;AAGK;IADL,IAAA,YAAG,EAAC,cAAc,CAAC;IACL,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;;;;6CAM7B;yBA5EU,cAAc;IAF1B,IAAA,mBAAU,GAAE;IACZ,IAAA,iBAAO,EAAC,SAAS,CAAC;qCAEyB,0BAAW;GAD1C,cAAc,CA6E1B"} \ No newline at end of file diff --git a/backend/dist/town/town.module.d.ts b/backend/dist/town/town.module.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..c79dca7fd845e23e6f13572c2d715d899b67fb61 --- /dev/null +++ b/backend/dist/town/town.module.d.ts @@ -0,0 +1,2 @@ +export declare class TownModule { +} diff --git a/backend/dist/town/town.module.js b/backend/dist/town/town.module.js new file mode 100644 index 0000000000000000000000000000000000000000..1b5dd64e26c85239c17ac03a38bb979762308db2 --- /dev/null +++ b/backend/dist/town/town.module.js @@ -0,0 +1,35 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TownModule = void 0; +const common_1 = require("@nestjs/common"); +const town_service_1 = require("./town.service"); +const town_controller_1 = require("./town.controller"); +const typeorm_1 = require("@nestjs/typeorm"); +const town_entity_1 = require("./entities/town.entity"); +const state_service_1 = require("../state/state.service"); +const state_entity_1 = require("../state/entities/state.entity"); +const town_traduction_entity_1 = require("./entities/town-traduction.entity"); +const authAdmin_service_1 = require("../auth/admin/authAdmin.service"); +const admin_service_1 = require("../admin/admin.service"); +const jwt_1 = require("@nestjs/jwt"); +const encryption_service_1 = require("../auth/encryption/encryption.service"); +const admin_entity_1 = require("../admin/entities/admin.entity"); +const admin_reset_code_entity_1 = require("../auth/admin/entitites/admin-reset-code.entity"); +let TownModule = class TownModule { +}; +exports.TownModule = TownModule; +exports.TownModule = TownModule = __decorate([ + (0, common_1.Module)({ + controllers: [town_controller_1.TownController], + providers: [town_service_1.TownService, state_service_1.StateService, typeorm_1.TypeOrmModule, authAdmin_service_1.AuthAdminService, admin_service_1.AdminService, jwt_1.JwtService, encryption_service_1.EncryptionService], + imports: [typeorm_1.TypeOrmModule.forFeature([town_entity_1.Town, state_entity_1.State, town_traduction_entity_1.TownTraduction, admin_entity_1.Admin, admin_reset_code_entity_1.AdminResetCode]), typeorm_1.TypeOrmModule], + exports: [town_service_1.TownService], + }) +], TownModule); +//# sourceMappingURL=town.module.js.map \ No newline at end of file diff --git a/backend/dist/town/town.module.js.map b/backend/dist/town/town.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..9deeafb28033b494db1af5be9e8b426841441688 --- /dev/null +++ b/backend/dist/town/town.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"town.module.js","sourceRoot":"","sources":["../../src/town/town.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,iDAA6C;AAC7C,uDAAmD;AACnD,6CAAgD;AAChD,wDAA8C;AAC9C,0DAAuD;AACvD,iEAAwD;AACxD,8EAAmE;AACnE,uEAAoE;AACpE,0DAAuD;AACvD,qCAAyC;AACzC,8EAA2E;AAC3E,iEAAwD;AACxD,6FAAkF;AAQ3E,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IANtB,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,gCAAc,CAAC;QAC7B,SAAS,EAAE,CAAC,0BAAW,EAAE,4BAAY,EAAE,uBAAa,EAAE,oCAAgB,EAAE,4BAAY,EAAE,gBAAU,EAAE,sCAAiB,CAAC;QACpH,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,kBAAI,EAAE,oBAAK,EAAE,uCAAc,EAAE,oBAAK,EAAE,wCAAc,CAAC,CAAC,EAAE,uBAAa,CAAC;QACxG,OAAO,EAAE,CAAC,0BAAW,CAAC;KACvB,CAAC;GACW,UAAU,CAAG"} \ No newline at end of file diff --git a/backend/dist/town/town.service.d.ts b/backend/dist/town/town.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..109293fba1362ce9e576040e657f3d35b6249f66 --- /dev/null +++ b/backend/dist/town/town.service.d.ts @@ -0,0 +1,25 @@ +import { CreateTownDto } from './dto/create-town.dto'; +import { Repository } from 'typeorm'; +import { Town } from './entities/town.entity'; +import { StateService } from 'src/state/state.service'; +import { TownTraduction } from './entities/town-traduction.entity'; +import { DataSource } from 'typeorm'; +import { TownResDto } from './dto/town-res.dto'; +export declare class TownService { + private townRepository; + private townTradRepository; + private dataSource; + private state; + constructor(townRepository: Repository, townTradRepository: Repository, dataSource: DataSource, state: StateService); + create(createTownDto: CreateTownDto): Promise; + findTownsByState(stateId: number, lang: string): Promise; + update(townId: number, updateTownDto: CreateTownDto): Promise; + findOne(idTown: number): Promise<{ + townId: number; + name: string; + descriptionEN: string; + descriptionES: string; + imageName: string; + stateId: number; + }>; +} diff --git a/backend/dist/town/town.service.js b/backend/dist/town/town.service.js new file mode 100644 index 0000000000000000000000000000000000000000..d1da2cd523932e66fa22d05689cd07f4f9f68c82 --- /dev/null +++ b/backend/dist/town/town.service.js @@ -0,0 +1,124 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TownService = void 0; +const common_1 = require("@nestjs/common"); +const typeorm_1 = require("typeorm"); +const town_entity_1 = require("./entities/town.entity"); +const typeorm_2 = require("@nestjs/typeorm"); +const state_service_1 = require("../state/state.service"); +const town_traduction_entity_1 = require("./entities/town-traduction.entity"); +const languages_enum_1 = require("../shared/enum/languages.enum"); +const typeorm_3 = require("typeorm"); +const server_contants_1 = require("../constants/server.contants"); +let TownService = class TownService { + constructor(townRepository, townTradRepository, dataSource, state) { + this.townRepository = townRepository; + this.townTradRepository = townTradRepository; + this.dataSource = dataSource; + this.state = state; + } + async create(createTownDto) { + const state = await this.state.findOne(createTownDto.state); + if (!state) + throw new common_1.BadRequestException('State does not exist'); + const town = await this.townRepository.save({ ...createTownDto, state }); + const createTownTradDtoEN = { + townId: town.townId, + language: languages_enum_1.LANGUAGES.EN, + description: createTownDto.descriptionEN, + }; + const createTownTradDtoES = { + townId: town.townId, + language: languages_enum_1.LANGUAGES.ES, + description: createTownDto.descriptionES, + }; + await this.townTradRepository.save(createTownTradDtoES); + await this.townTradRepository.save(createTownTradDtoEN); + } + async findTownsByState(stateId, lang) { + const ans = await this.dataSource + .getRepository(town_traduction_entity_1.TownTraduction) + .createQueryBuilder('townTrad') + .leftJoin('townTrad.townId', 'town') + .select([ + 'town.townId AS townId', + 'town.name AS name', + 'town.imageName AS imageName', + 'townTrad.language AS language', + 'townTrad.description AS description', + 'town.state AS stateId', + ]) + .where('town.state = :stateId', { stateId }) + .andWhere('townTrad.language = :language', { language: lang }) + .andWhere('town.active = true') + .getRawMany(); + return ans.map((item) => ({ + townId: item.townId, + name: item.name, + imageName: `${server_contants_1.ServerConstants.HOST}/towns/${item.imageName}`, + description: item.description, + stateId: item.stateId, + })); + } + async update(townId, updateTownDto) { + const state = await this.state.findOne(updateTownDto.state); + if (!state) + throw new common_1.BadRequestException('State does not exist'); + const updateTown = { + name: updateTownDto.name, + imageName: updateTownDto.imageName, + state: state.stateId, + }; + await this.townRepository.update({ townId }, { ...updateTown, state: state }); + const createTownTradDtoEN = { + townId: townId, + language: languages_enum_1.LANGUAGES.EN, + description: updateTownDto.descriptionEN, + }; + const createTownTradDtoES = { + townId: townId, + language: languages_enum_1.LANGUAGES.ES, + description: updateTownDto.descriptionES, + }; + await this.townTradRepository.update({ townId, language: languages_enum_1.LANGUAGES.ES }, createTownTradDtoES); + await this.townTradRepository.update({ townId, language: languages_enum_1.LANGUAGES.EN }, createTownTradDtoEN); + } + async findOne(idTown) { + const town = await this.townRepository.findOneByOrFail({ townId: idTown }); + const tradEN = await this.townTradRepository.findOneByOrFail({ townId: idTown, language: languages_enum_1.LANGUAGES.EN }); + const tradES = await this.townTradRepository.findOneByOrFail({ townId: idTown, language: languages_enum_1.LANGUAGES.ES }); + console.log(town); + return { + townId: town.townId, + name: town.name, + descriptionEN: tradEN.description, + descriptionES: tradES.description, + imageName: `${server_contants_1.ServerConstants.HOST}/towns/${town.imageName}`, + stateId: town.state.stateId, + }; + } +}; +exports.TownService = TownService; +exports.TownService = TownService = __decorate([ + (0, common_1.Injectable)(), + __param(0, (0, typeorm_2.InjectRepository)(town_entity_1.Town)), + __param(1, (0, typeorm_2.InjectRepository)(town_traduction_entity_1.TownTraduction)), + __param(2, (0, typeorm_2.InjectDataSource)()), + __metadata("design:paramtypes", [typeorm_1.Repository, + typeorm_1.Repository, + typeorm_3.DataSource, + state_service_1.StateService]) +], TownService); +//# sourceMappingURL=town.service.js.map \ No newline at end of file diff --git a/backend/dist/town/town.service.js.map b/backend/dist/town/town.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f8d5e3e92a5f9d6d2e4d10004e4a5b027ff78fd2 --- /dev/null +++ b/backend/dist/town/town.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"town.service.js","sourceRoot":"","sources":["../../src/town/town.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/travel-place/dto/create-travel-place.dto.d.ts b/backend/dist/travel-place/dto/create-travel-place.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..7fa0d710b15ea1ef0d601609dd6e0967b77d05ad --- /dev/null +++ b/backend/dist/travel-place/dto/create-travel-place.dto.d.ts @@ -0,0 +1,7 @@ +export declare class CreateTravelPlaceDto { + idRoute: number; + idPlace: number; + startDate: Date; + endDate: Date; + done: boolean; +} diff --git a/backend/dist/travel-place/dto/create-travel-place.dto.js b/backend/dist/travel-place/dto/create-travel-place.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..98604450bff13e51e3f60eb70c810839eeb6b049 --- /dev/null +++ b/backend/dist/travel-place/dto/create-travel-place.dto.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreateTravelPlaceDto = void 0; +class CreateTravelPlaceDto { +} +exports.CreateTravelPlaceDto = CreateTravelPlaceDto; +//# sourceMappingURL=create-travel-place.dto.js.map \ No newline at end of file diff --git a/backend/dist/travel-place/dto/create-travel-place.dto.js.map b/backend/dist/travel-place/dto/create-travel-place.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..c37059429c03e92d91c84df6a043271648715640 --- /dev/null +++ b/backend/dist/travel-place/dto/create-travel-place.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-travel-place.dto.js","sourceRoot":"","sources":["../../../src/travel-place/dto/create-travel-place.dto.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAoB;CAMhC;AAND,oDAMC"} \ No newline at end of file diff --git a/backend/dist/travel-place/dto/update-travel-place.dto.d.ts b/backend/dist/travel-place/dto/update-travel-place.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..d6e9fa942d545fa40005da82be62a9b0395ade39 --- /dev/null +++ b/backend/dist/travel-place/dto/update-travel-place.dto.d.ts @@ -0,0 +1,5 @@ +import { CreateTravelPlaceDto } from './create-travel-place.dto'; +declare const UpdateTravelPlaceDto_base: import("@nestjs/common").Type>; +export declare class UpdateTravelPlaceDto extends UpdateTravelPlaceDto_base { +} +export {}; diff --git a/backend/dist/travel-place/dto/update-travel-place.dto.js b/backend/dist/travel-place/dto/update-travel-place.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..e5e887edfbd7e8ab54ee99d370bd9d7a2617e203 --- /dev/null +++ b/backend/dist/travel-place/dto/update-travel-place.dto.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UpdateTravelPlaceDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +const create_travel_place_dto_1 = require("./create-travel-place.dto"); +class UpdateTravelPlaceDto extends (0, swagger_1.PartialType)(create_travel_place_dto_1.CreateTravelPlaceDto) { +} +exports.UpdateTravelPlaceDto = UpdateTravelPlaceDto; +//# sourceMappingURL=update-travel-place.dto.js.map \ No newline at end of file diff --git a/backend/dist/travel-place/dto/update-travel-place.dto.js.map b/backend/dist/travel-place/dto/update-travel-place.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..811510624c4efc3c2d67b7a2a0579c9456bc0401 --- /dev/null +++ b/backend/dist/travel-place/dto/update-travel-place.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"update-travel-place.dto.js","sourceRoot":"","sources":["../../../src/travel-place/dto/update-travel-place.dto.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,uEAAiE;AAEjE,MAAa,oBAAqB,SAAQ,IAAA,qBAAW,EAAC,8CAAoB,CAAC;CAAG;AAA9E,oDAA8E"} \ No newline at end of file diff --git a/backend/dist/travel-place/entities/travel-place.entity.d.ts b/backend/dist/travel-place/entities/travel-place.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..e093dff37915d06eb76e72716967a7db46d16afb --- /dev/null +++ b/backend/dist/travel-place/entities/travel-place.entity.d.ts @@ -0,0 +1,10 @@ +import { Place } from 'src/place/entities/place.entity'; +import { Route } from 'src/route/entities/route.entity'; +export declare class TravelPlace { + travelPlaceId: number; + route: Route; + place: Place; + startDate: Date; + endDate: Date; + done: boolean; +} diff --git a/backend/dist/travel-place/entities/travel-place.entity.js b/backend/dist/travel-place/entities/travel-place.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..c1e4dfa0f4e3f09867c76ad5488a1792c076b37a --- /dev/null +++ b/backend/dist/travel-place/entities/travel-place.entity.js @@ -0,0 +1,48 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TravelPlace = void 0; +const place_entity_1 = require("../../place/entities/place.entity"); +const route_entity_1 = require("../../route/entities/route.entity"); +const typeorm_1 = require("typeorm"); +let TravelPlace = class TravelPlace { +}; +exports.TravelPlace = TravelPlace; +__decorate([ + (0, typeorm_1.PrimaryGeneratedColumn)(), + __metadata("design:type", Number) +], TravelPlace.prototype, "travelPlaceId", void 0); +__decorate([ + (0, typeorm_1.JoinColumn)({ name: 'route' }), + (0, typeorm_1.ManyToOne)(() => route_entity_1.Route, (route) => route.idRoute), + __metadata("design:type", route_entity_1.Route) +], TravelPlace.prototype, "route", void 0); +__decorate([ + (0, typeorm_1.JoinColumn)({ name: 'place' }), + (0, typeorm_1.ManyToOne)(() => place_entity_1.Place, (place) => place.idPlace, { eager: true }), + __metadata("design:type", place_entity_1.Place) +], TravelPlace.prototype, "place", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: false }), + __metadata("design:type", Date) +], TravelPlace.prototype, "startDate", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: false }), + __metadata("design:type", Date) +], TravelPlace.prototype, "endDate", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: false }), + __metadata("design:type", Boolean) +], TravelPlace.prototype, "done", void 0); +exports.TravelPlace = TravelPlace = __decorate([ + (0, typeorm_1.Entity)() +], TravelPlace); +//# sourceMappingURL=travel-place.entity.js.map \ No newline at end of file diff --git a/backend/dist/travel-place/entities/travel-place.entity.js.map b/backend/dist/travel-place/entities/travel-place.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a443f3f3fd91e0ca6ebed9988a0beaa1a49b4b84 --- /dev/null +++ b/backend/dist/travel-place/entities/travel-place.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"travel-place.entity.js","sourceRoot":"","sources":["../../../src/travel-place/entities/travel-place.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oEAAwD;AACxD,oEAAwD;AACxD,qCAAwF;AAGjF,IAAM,WAAW,GAAjB,MAAM,WAAW;CAmBvB,CAAA;AAnBY,kCAAW;AAEtB;IADC,IAAA,gCAAsB,GAAE;;kDACH;AAItB;IAFC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC7B,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,oBAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;8BAC1C,oBAAK;0CAAC;AAIb;IAFC,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC7B,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,oBAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;8BAC3D,oBAAK;0CAAC;AAGb;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BACjB,IAAI;8CAAC;AAEhB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BACnB,IAAI;4CAAC;AAGd;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;yCACd;sBAlBH,WAAW;IADvB,IAAA,gBAAM,GAAE;GACI,WAAW,CAmBvB"} \ No newline at end of file diff --git a/backend/dist/travel-place/travel-place.controller.d.ts b/backend/dist/travel-place/travel-place.controller.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..29a65863025c67dff82b8d82c4adf05109f4b759 --- /dev/null +++ b/backend/dist/travel-place/travel-place.controller.d.ts @@ -0,0 +1,7 @@ +import { TravelPlaceService } from './travel-place.service'; +import { CreateTravelPlaceDto } from './dto/create-travel-place.dto'; +export declare class TravelPlaceController { + private readonly travelPlaceService; + constructor(travelPlaceService: TravelPlaceService); + create(createTravelPlaceDto: CreateTravelPlaceDto): Promise; +} diff --git a/backend/dist/travel-place/travel-place.controller.js b/backend/dist/travel-place/travel-place.controller.js new file mode 100644 index 0000000000000000000000000000000000000000..8c9aa15bb4e3d72c336687042cfae6ac67694854 --- /dev/null +++ b/backend/dist/travel-place/travel-place.controller.js @@ -0,0 +1,39 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TravelPlaceController = void 0; +const common_1 = require("@nestjs/common"); +const travel_place_service_1 = require("./travel-place.service"); +const create_travel_place_dto_1 = require("./dto/create-travel-place.dto"); +let TravelPlaceController = class TravelPlaceController { + constructor(travelPlaceService) { + this.travelPlaceService = travelPlaceService; + } + create(createTravelPlaceDto) { + return this.travelPlaceService.create(createTravelPlaceDto); + } +}; +exports.TravelPlaceController = TravelPlaceController; +__decorate([ + (0, common_1.Post)(), + __param(0, (0, common_1.Body)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [create_travel_place_dto_1.CreateTravelPlaceDto]), + __metadata("design:returntype", void 0) +], TravelPlaceController.prototype, "create", null); +exports.TravelPlaceController = TravelPlaceController = __decorate([ + (0, common_1.Controller)('travel-place'), + __metadata("design:paramtypes", [travel_place_service_1.TravelPlaceService]) +], TravelPlaceController); +//# sourceMappingURL=travel-place.controller.js.map \ No newline at end of file diff --git a/backend/dist/travel-place/travel-place.controller.js.map b/backend/dist/travel-place/travel-place.controller.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b8e8c8b2141f8bcbf0a4965bbb3b1c4f89646304 --- /dev/null +++ b/backend/dist/travel-place/travel-place.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"travel-place.controller.js","sourceRoot":"","sources":["../../src/travel-place/travel-place.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwD;AACxD,iEAA4D;AAC5D,2EAAqE;AAG9D,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChC,YAA6B,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAAG,CAAC;IAGvE,MAAM,CAAS,oBAA0C;QACvD,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC9D,CAAC;CACF,CAAA;AAPY,sDAAqB;AAIhC;IADC,IAAA,aAAI,GAAE;IACC,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAuB,8CAAoB;;mDAExD;gCANU,qBAAqB;IADjC,IAAA,mBAAU,EAAC,cAAc,CAAC;qCAEwB,yCAAkB;GADxD,qBAAqB,CAOjC"} \ No newline at end of file diff --git a/backend/dist/travel-place/travel-place.module.d.ts b/backend/dist/travel-place/travel-place.module.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..70bd60db292c86ac2e4b427c96fe9a2cd1d866b6 --- /dev/null +++ b/backend/dist/travel-place/travel-place.module.d.ts @@ -0,0 +1,2 @@ +export declare class TravelPlaceModule { +} diff --git a/backend/dist/travel-place/travel-place.module.js b/backend/dist/travel-place/travel-place.module.js new file mode 100644 index 0000000000000000000000000000000000000000..1b69f5a809ca4e370ed7a724da63d0a6884f015b --- /dev/null +++ b/backend/dist/travel-place/travel-place.module.js @@ -0,0 +1,27 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TravelPlaceModule = void 0; +const common_1 = require("@nestjs/common"); +const travel_place_service_1 = require("./travel-place.service"); +const travel_place_controller_1 = require("./travel-place.controller"); +const typeorm_1 = require("@nestjs/typeorm"); +const travel_place_entity_1 = require("./entities/travel-place.entity"); +const place_entity_1 = require("../place/entities/place.entity"); +const route_entity_1 = require("../route/entities/route.entity"); +let TravelPlaceModule = class TravelPlaceModule { +}; +exports.TravelPlaceModule = TravelPlaceModule; +exports.TravelPlaceModule = TravelPlaceModule = __decorate([ + (0, common_1.Module)({ + controllers: [travel_place_controller_1.TravelPlaceController], + providers: [travel_place_service_1.TravelPlaceService], + imports: [typeorm_1.TypeOrmModule.forFeature([travel_place_entity_1.TravelPlace, place_entity_1.Place, route_entity_1.Route])], + }) +], TravelPlaceModule); +//# sourceMappingURL=travel-place.module.js.map \ No newline at end of file diff --git a/backend/dist/travel-place/travel-place.module.js.map b/backend/dist/travel-place/travel-place.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..fe57cc869ea77a9452815bd377cb12e7dac8fbc2 --- /dev/null +++ b/backend/dist/travel-place/travel-place.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"travel-place.module.js","sourceRoot":"","sources":["../../src/travel-place/travel-place.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,iEAA4D;AAC5D,uEAAkE;AAClE,6CAAgD;AAChD,wEAA6D;AAC7D,iEAAwD;AACxD,iEAAwD;AAOjD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;CAAG,CAAA;AAApB,8CAAiB;4BAAjB,iBAAiB;IAL7B,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,+CAAqB,CAAC;QACpC,SAAS,EAAE,CAAC,yCAAkB,CAAC;QAC/B,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,iCAAW,EAAE,oBAAK,EAAE,oBAAK,CAAC,CAAC,CAAC;KACjE,CAAC;GACW,iBAAiB,CAAG"} \ No newline at end of file diff --git a/backend/dist/travel-place/travel-place.service.d.ts b/backend/dist/travel-place/travel-place.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..e8b33ce80d746068bbfe5ca9afca2f8f200e7ea2 --- /dev/null +++ b/backend/dist/travel-place/travel-place.service.d.ts @@ -0,0 +1,12 @@ +import { CreateTravelPlaceDto } from './dto/create-travel-place.dto'; +import { TravelPlace } from './entities/travel-place.entity'; +import { Repository } from 'typeorm'; +import { Place } from 'src/place/entities/place.entity'; +import { Route } from 'src/route/entities/route.entity'; +export declare class TravelPlaceService { + private travelPlaceRepository; + private placeRepository; + private routeRepository; + constructor(travelPlaceRepository: Repository, placeRepository: Repository, routeRepository: Repository); + create(createTravelPlaceDto: CreateTravelPlaceDto): Promise; +} diff --git a/backend/dist/travel-place/travel-place.service.js b/backend/dist/travel-place/travel-place.service.js new file mode 100644 index 0000000000000000000000000000000000000000..1bdb85f20a04c4dcab23263b35b9d762919df05b --- /dev/null +++ b/backend/dist/travel-place/travel-place.service.js @@ -0,0 +1,50 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TravelPlaceService = void 0; +const common_1 = require("@nestjs/common"); +const typeorm_1 = require("@nestjs/typeorm"); +const travel_place_entity_1 = require("./entities/travel-place.entity"); +const typeorm_2 = require("typeorm"); +const place_entity_1 = require("../place/entities/place.entity"); +const route_entity_1 = require("../route/entities/route.entity"); +let TravelPlaceService = class TravelPlaceService { + constructor(travelPlaceRepository, placeRepository, routeRepository) { + this.travelPlaceRepository = travelPlaceRepository; + this.placeRepository = placeRepository; + this.routeRepository = routeRepository; + } + async create(createTravelPlaceDto) { + const route = await this.routeRepository.findOneBy({ idRoute: createTravelPlaceDto.idRoute }); + const place = await this.placeRepository.findOneBy({ idPlace: createTravelPlaceDto.idPlace }); + await this.travelPlaceRepository.save({ + route, + place, + startDate: createTravelPlaceDto.startDate, + endDate: createTravelPlaceDto.endDate, + done: createTravelPlaceDto.done, + }); + } +}; +exports.TravelPlaceService = TravelPlaceService; +exports.TravelPlaceService = TravelPlaceService = __decorate([ + (0, common_1.Injectable)(), + __param(0, (0, typeorm_1.InjectRepository)(travel_place_entity_1.TravelPlace)), + __param(1, (0, typeorm_1.InjectRepository)(place_entity_1.Place)), + __param(2, (0, typeorm_1.InjectRepository)(route_entity_1.Route)), + __metadata("design:paramtypes", [typeorm_2.Repository, + typeorm_2.Repository, + typeorm_2.Repository]) +], TravelPlaceService); +//# sourceMappingURL=travel-place.service.js.map \ No newline at end of file diff --git a/backend/dist/travel-place/travel-place.service.js.map b/backend/dist/travel-place/travel-place.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..73630bb131b21ab5f4ce5df08dcc754b44f52b60 --- /dev/null +++ b/backend/dist/travel-place/travel-place.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"travel-place.service.js","sourceRoot":"","sources":["../../src/travel-place/travel-place.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4C;AAE5C,6CAAmD;AACnD,wEAA6D;AAC7D,qCAAqC;AACrC,iEAAwD;AACxD,iEAAwD;AAGjD,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YACyC,qBAA8C,EACpD,eAAkC,EAClC,eAAkC;QAF5B,0BAAqB,GAArB,qBAAqB,CAAyB;QACpD,oBAAe,GAAf,eAAe,CAAmB;QAClC,oBAAe,GAAf,eAAe,CAAmB;IAClE,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,oBAA0C;QACrD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9F,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9F,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;YACpC,KAAK;YACL,KAAK;YACL,SAAS,EAAE,oBAAoB,CAAC,SAAS;YACzC,OAAO,EAAE,oBAAoB,CAAC,OAAO;YACrC,IAAI,EAAE,oBAAoB,CAAC,IAAI;SAChC,CAAC,CAAC;IACL,CAAC;CAiBF,CAAA;AAlCY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,0BAAgB,EAAC,iCAAW,CAAC,CAAA;IAC7B,WAAA,IAAA,0BAAgB,EAAC,oBAAK,CAAC,CAAA;IACvB,WAAA,IAAA,0BAAgB,EAAC,oBAAK,CAAC,CAAA;qCAFsC,oBAAU;QACtB,oBAAU;QACV,oBAAU;GAJnD,kBAAkB,CAkC9B"} \ No newline at end of file diff --git a/backend/dist/tsconfig.build.tsbuildinfo b/backend/dist/tsconfig.build.tsbuildinfo new file mode 100644 index 0000000000000000000000000000000000000000..e735f5a35309ccea2fc33892ab8321528b063c59 --- /dev/null +++ b/backend/dist/tsconfig.build.tsbuildinfo @@ -0,0 +1 @@ +{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/typescript/lib/lib.es2021.full.d.ts","../node_modules/reflect-metadata/index.d.ts","../node_modules/@nestjs/common/decorators/core/bind.decorator.d.ts","../node_modules/@nestjs/common/interfaces/abstract.interface.d.ts","../node_modules/@nestjs/common/interfaces/controllers/controller-metadata.interface.d.ts","../node_modules/@nestjs/common/interfaces/controllers/controller.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/arguments-host.interface.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/exception-filter.interface.d.ts","../node_modules/rxjs/dist/types/internal/subscription.d.ts","../node_modules/rxjs/dist/types/internal/subscriber.d.ts","../node_modules/rxjs/dist/types/internal/operator.d.ts","../node_modules/rxjs/dist/types/internal/observable.d.ts","../node_modules/rxjs/dist/types/internal/types.d.ts","../node_modules/rxjs/dist/types/internal/operators/audit.d.ts","../node_modules/rxjs/dist/types/internal/operators/audittime.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffer.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffercount.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffertime.d.ts","../node_modules/rxjs/dist/types/internal/operators/buffertoggle.d.ts","../node_modules/rxjs/dist/types/internal/operators/bufferwhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/catcherror.d.ts","../node_modules/rxjs/dist/types/internal/operators/combinelatestall.d.ts","../node_modules/rxjs/dist/types/internal/operators/combineall.d.ts","../node_modules/rxjs/dist/types/internal/operators/combinelatest.d.ts","../node_modules/rxjs/dist/types/internal/operators/combinelatestwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/concat.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatall.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatmapto.d.ts","../node_modules/rxjs/dist/types/internal/operators/concatwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/connect.d.ts","../node_modules/rxjs/dist/types/internal/operators/count.d.ts","../node_modules/rxjs/dist/types/internal/operators/debounce.d.ts","../node_modules/rxjs/dist/types/internal/operators/debouncetime.d.ts","../node_modules/rxjs/dist/types/internal/operators/defaultifempty.d.ts","../node_modules/rxjs/dist/types/internal/operators/delay.d.ts","../node_modules/rxjs/dist/types/internal/operators/delaywhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/dematerialize.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinct.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinctuntilchanged.d.ts","../node_modules/rxjs/dist/types/internal/operators/distinctuntilkeychanged.d.ts","../node_modules/rxjs/dist/types/internal/operators/elementat.d.ts","../node_modules/rxjs/dist/types/internal/operators/endwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/every.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaustall.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaust.d.ts","../node_modules/rxjs/dist/types/internal/operators/exhaustmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/expand.d.ts","../node_modules/rxjs/dist/types/internal/operators/filter.d.ts","../node_modules/rxjs/dist/types/internal/operators/finalize.d.ts","../node_modules/rxjs/dist/types/internal/operators/find.d.ts","../node_modules/rxjs/dist/types/internal/operators/findindex.d.ts","../node_modules/rxjs/dist/types/internal/operators/first.d.ts","../node_modules/rxjs/dist/types/internal/subject.d.ts","../node_modules/rxjs/dist/types/internal/operators/groupby.d.ts","../node_modules/rxjs/dist/types/internal/operators/ignoreelements.d.ts","../node_modules/rxjs/dist/types/internal/operators/isempty.d.ts","../node_modules/rxjs/dist/types/internal/operators/last.d.ts","../node_modules/rxjs/dist/types/internal/operators/map.d.ts","../node_modules/rxjs/dist/types/internal/operators/mapto.d.ts","../node_modules/rxjs/dist/types/internal/notification.d.ts","../node_modules/rxjs/dist/types/internal/operators/materialize.d.ts","../node_modules/rxjs/dist/types/internal/operators/max.d.ts","../node_modules/rxjs/dist/types/internal/operators/merge.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergeall.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergemap.d.ts","../node_modules/rxjs/dist/types/internal/operators/flatmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergemapto.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergescan.d.ts","../node_modules/rxjs/dist/types/internal/operators/mergewith.d.ts","../node_modules/rxjs/dist/types/internal/operators/min.d.ts","../node_modules/rxjs/dist/types/internal/observable/connectableobservable.d.ts","../node_modules/rxjs/dist/types/internal/operators/multicast.d.ts","../node_modules/rxjs/dist/types/internal/operators/observeon.d.ts","../node_modules/rxjs/dist/types/internal/operators/onerrorresumenextwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/pairwise.d.ts","../node_modules/rxjs/dist/types/internal/operators/partition.d.ts","../node_modules/rxjs/dist/types/internal/operators/pluck.d.ts","../node_modules/rxjs/dist/types/internal/operators/publish.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishbehavior.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishlast.d.ts","../node_modules/rxjs/dist/types/internal/operators/publishreplay.d.ts","../node_modules/rxjs/dist/types/internal/operators/race.d.ts","../node_modules/rxjs/dist/types/internal/operators/racewith.d.ts","../node_modules/rxjs/dist/types/internal/operators/reduce.d.ts","../node_modules/rxjs/dist/types/internal/operators/repeat.d.ts","../node_modules/rxjs/dist/types/internal/operators/repeatwhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/retry.d.ts","../node_modules/rxjs/dist/types/internal/operators/retrywhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/refcount.d.ts","../node_modules/rxjs/dist/types/internal/operators/sample.d.ts","../node_modules/rxjs/dist/types/internal/operators/sampletime.d.ts","../node_modules/rxjs/dist/types/internal/operators/scan.d.ts","../node_modules/rxjs/dist/types/internal/operators/sequenceequal.d.ts","../node_modules/rxjs/dist/types/internal/operators/share.d.ts","../node_modules/rxjs/dist/types/internal/operators/sharereplay.d.ts","../node_modules/rxjs/dist/types/internal/operators/single.d.ts","../node_modules/rxjs/dist/types/internal/operators/skip.d.ts","../node_modules/rxjs/dist/types/internal/operators/skiplast.d.ts","../node_modules/rxjs/dist/types/internal/operators/skipuntil.d.ts","../node_modules/rxjs/dist/types/internal/operators/skipwhile.d.ts","../node_modules/rxjs/dist/types/internal/operators/startwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/subscribeon.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchall.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchmap.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchmapto.d.ts","../node_modules/rxjs/dist/types/internal/operators/switchscan.d.ts","../node_modules/rxjs/dist/types/internal/operators/take.d.ts","../node_modules/rxjs/dist/types/internal/operators/takelast.d.ts","../node_modules/rxjs/dist/types/internal/operators/takeuntil.d.ts","../node_modules/rxjs/dist/types/internal/operators/takewhile.d.ts","../node_modules/rxjs/dist/types/internal/operators/tap.d.ts","../node_modules/rxjs/dist/types/internal/operators/throttle.d.ts","../node_modules/rxjs/dist/types/internal/operators/throttletime.d.ts","../node_modules/rxjs/dist/types/internal/operators/throwifempty.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeinterval.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeout.d.ts","../node_modules/rxjs/dist/types/internal/operators/timeoutwith.d.ts","../node_modules/rxjs/dist/types/internal/operators/timestamp.d.ts","../node_modules/rxjs/dist/types/internal/operators/toarray.d.ts","../node_modules/rxjs/dist/types/internal/operators/window.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowcount.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowtime.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowtoggle.d.ts","../node_modules/rxjs/dist/types/internal/operators/windowwhen.d.ts","../node_modules/rxjs/dist/types/internal/operators/withlatestfrom.d.ts","../node_modules/rxjs/dist/types/internal/operators/zip.d.ts","../node_modules/rxjs/dist/types/internal/operators/zipall.d.ts","../node_modules/rxjs/dist/types/internal/operators/zipwith.d.ts","../node_modules/rxjs/dist/types/operators/index.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/action.d.ts","../node_modules/rxjs/dist/types/internal/scheduler.d.ts","../node_modules/rxjs/dist/types/internal/testing/testmessage.d.ts","../node_modules/rxjs/dist/types/internal/testing/subscriptionlog.d.ts","../node_modules/rxjs/dist/types/internal/testing/subscriptionloggable.d.ts","../node_modules/rxjs/dist/types/internal/testing/coldobservable.d.ts","../node_modules/rxjs/dist/types/internal/testing/hotobservable.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asyncscheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/timerhandle.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asyncaction.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/virtualtimescheduler.d.ts","../node_modules/rxjs/dist/types/internal/testing/testscheduler.d.ts","../node_modules/rxjs/dist/types/testing/index.d.ts","../node_modules/rxjs/dist/types/internal/symbol/observable.d.ts","../node_modules/rxjs/dist/types/internal/observable/dom/animationframes.d.ts","../node_modules/rxjs/dist/types/internal/behaviorsubject.d.ts","../node_modules/rxjs/dist/types/internal/replaysubject.d.ts","../node_modules/rxjs/dist/types/internal/asyncsubject.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asapscheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/asap.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/async.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/queuescheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/queue.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/animationframescheduler.d.ts","../node_modules/rxjs/dist/types/internal/scheduler/animationframe.d.ts","../node_modules/rxjs/dist/types/internal/util/identity.d.ts","../node_modules/rxjs/dist/types/internal/util/pipe.d.ts","../node_modules/rxjs/dist/types/internal/util/noop.d.ts","../node_modules/rxjs/dist/types/internal/util/isobservable.d.ts","../node_modules/rxjs/dist/types/internal/lastvaluefrom.d.ts","../node_modules/rxjs/dist/types/internal/firstvaluefrom.d.ts","../node_modules/rxjs/dist/types/internal/util/argumentoutofrangeerror.d.ts","../node_modules/rxjs/dist/types/internal/util/emptyerror.d.ts","../node_modules/rxjs/dist/types/internal/util/notfounderror.d.ts","../node_modules/rxjs/dist/types/internal/util/objectunsubscribederror.d.ts","../node_modules/rxjs/dist/types/internal/util/sequenceerror.d.ts","../node_modules/rxjs/dist/types/internal/util/unsubscriptionerror.d.ts","../node_modules/rxjs/dist/types/internal/observable/bindcallback.d.ts","../node_modules/rxjs/dist/types/internal/observable/bindnodecallback.d.ts","../node_modules/rxjs/dist/types/internal/anycatcher.d.ts","../node_modules/rxjs/dist/types/internal/observable/combinelatest.d.ts","../node_modules/rxjs/dist/types/internal/observable/concat.d.ts","../node_modules/rxjs/dist/types/internal/observable/connectable.d.ts","../node_modules/rxjs/dist/types/internal/observable/defer.d.ts","../node_modules/rxjs/dist/types/internal/observable/empty.d.ts","../node_modules/rxjs/dist/types/internal/observable/forkjoin.d.ts","../node_modules/rxjs/dist/types/internal/observable/from.d.ts","../node_modules/rxjs/dist/types/internal/observable/fromevent.d.ts","../node_modules/rxjs/dist/types/internal/observable/fromeventpattern.d.ts","../node_modules/rxjs/dist/types/internal/observable/generate.d.ts","../node_modules/rxjs/dist/types/internal/observable/iif.d.ts","../node_modules/rxjs/dist/types/internal/observable/interval.d.ts","../node_modules/rxjs/dist/types/internal/observable/merge.d.ts","../node_modules/rxjs/dist/types/internal/observable/never.d.ts","../node_modules/rxjs/dist/types/internal/observable/of.d.ts","../node_modules/rxjs/dist/types/internal/observable/onerrorresumenext.d.ts","../node_modules/rxjs/dist/types/internal/observable/pairs.d.ts","../node_modules/rxjs/dist/types/internal/observable/partition.d.ts","../node_modules/rxjs/dist/types/internal/observable/race.d.ts","../node_modules/rxjs/dist/types/internal/observable/range.d.ts","../node_modules/rxjs/dist/types/internal/observable/throwerror.d.ts","../node_modules/rxjs/dist/types/internal/observable/timer.d.ts","../node_modules/rxjs/dist/types/internal/observable/using.d.ts","../node_modules/rxjs/dist/types/internal/observable/zip.d.ts","../node_modules/rxjs/dist/types/internal/scheduled/scheduled.d.ts","../node_modules/rxjs/dist/types/internal/config.d.ts","../node_modules/rxjs/dist/types/index.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/rpc-exception-filter.interface.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/ws-exception-filter.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/validation-error.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/execution-context.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/can-activate.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/custom-route-param-factory.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/nest-interceptor.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/paramtype.interface.d.ts","../node_modules/@nestjs/common/interfaces/type.interface.d.ts","../node_modules/@nestjs/common/interfaces/features/pipe-transform.interface.d.ts","../node_modules/@nestjs/common/enums/request-method.enum.d.ts","../node_modules/@nestjs/common/enums/http-status.enum.d.ts","../node_modules/@nestjs/common/enums/shutdown-signal.enum.d.ts","../node_modules/@nestjs/common/enums/version-type.enum.d.ts","../node_modules/@nestjs/common/enums/index.d.ts","../node_modules/@nestjs/common/interfaces/version-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/middleware-configuration.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/middleware-consumer.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/middleware-config-proxy.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/nest-middleware.interface.d.ts","../node_modules/@nestjs/common/interfaces/middleware/index.d.ts","../node_modules/@nestjs/common/interfaces/global-prefix-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/before-application-shutdown.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-application-bootstrap.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-application-shutdown.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-destroy.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/on-init.interface.d.ts","../node_modules/@nestjs/common/interfaces/hooks/index.d.ts","../node_modules/@nestjs/common/interfaces/http/http-exception-body.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/http-redirect-response.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/cors-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/https-options.interface.d.ts","../node_modules/@nestjs/common/services/logger.service.d.ts","../node_modules/@nestjs/common/interfaces/nest-application-context-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-application-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/http-server.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/message-event.interface.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/buffer/index.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@nestjs/common/interfaces/http/raw-body-request.interface.d.ts","../node_modules/@nestjs/common/interfaces/http/index.d.ts","../node_modules/@nestjs/common/interfaces/injectable.interface.d.ts","../node_modules/@nestjs/common/interfaces/microservices/nest-hybrid-application-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/forward-reference.interface.d.ts","../node_modules/@nestjs/common/interfaces/scope-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/injection-token.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/optional-factory-dependency.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/provider.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/module-metadata.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/dynamic-module.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/introspection-result.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/nest-module.interface.d.ts","../node_modules/@nestjs/common/interfaces/modules/index.d.ts","../node_modules/@nestjs/common/interfaces/nest-application-context.interface.d.ts","../node_modules/@nestjs/common/interfaces/websockets/web-socket-adapter.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-application.interface.d.ts","../node_modules/@nestjs/common/interfaces/nest-microservice.interface.d.ts","../node_modules/@nestjs/common/interfaces/index.d.ts","../node_modules/@nestjs/common/decorators/core/catch.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/controller.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/dependencies.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/exception-filters.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/inject.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/injectable.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/optional.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/set-metadata.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/use-guards.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/use-interceptors.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/use-pipes.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/apply-decorators.d.ts","../node_modules/@nestjs/common/decorators/core/version.decorator.d.ts","../node_modules/@nestjs/common/decorators/core/index.d.ts","../node_modules/@nestjs/common/decorators/modules/global.decorator.d.ts","../node_modules/@nestjs/common/decorators/modules/module.decorator.d.ts","../node_modules/@nestjs/common/decorators/modules/index.d.ts","../node_modules/@nestjs/common/decorators/http/request-mapping.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/route-params.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/http-code.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/create-route-param-metadata.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/render.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/header.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/redirect.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/sse.decorator.d.ts","../node_modules/@nestjs/common/decorators/http/index.d.ts","../node_modules/@nestjs/common/decorators/index.d.ts","../node_modules/@nestjs/common/exceptions/http.exception.d.ts","../node_modules/@nestjs/common/exceptions/bad-request.exception.d.ts","../node_modules/@nestjs/common/exceptions/unauthorized.exception.d.ts","../node_modules/@nestjs/common/exceptions/method-not-allowed.exception.d.ts","../node_modules/@nestjs/common/exceptions/not-found.exception.d.ts","../node_modules/@nestjs/common/exceptions/forbidden.exception.d.ts","../node_modules/@nestjs/common/exceptions/not-acceptable.exception.d.ts","../node_modules/@nestjs/common/exceptions/request-timeout.exception.d.ts","../node_modules/@nestjs/common/exceptions/conflict.exception.d.ts","../node_modules/@nestjs/common/exceptions/gone.exception.d.ts","../node_modules/@nestjs/common/exceptions/payload-too-large.exception.d.ts","../node_modules/@nestjs/common/exceptions/unsupported-media-type.exception.d.ts","../node_modules/@nestjs/common/exceptions/unprocessable-entity.exception.d.ts","../node_modules/@nestjs/common/exceptions/internal-server-error.exception.d.ts","../node_modules/@nestjs/common/exceptions/not-implemented.exception.d.ts","../node_modules/@nestjs/common/exceptions/http-version-not-supported.exception.d.ts","../node_modules/@nestjs/common/exceptions/bad-gateway.exception.d.ts","../node_modules/@nestjs/common/exceptions/service-unavailable.exception.d.ts","../node_modules/@nestjs/common/exceptions/gateway-timeout.exception.d.ts","../node_modules/@nestjs/common/exceptions/im-a-teapot.exception.d.ts","../node_modules/@nestjs/common/exceptions/precondition-failed.exception.d.ts","../node_modules/@nestjs/common/exceptions/misdirected.exception.d.ts","../node_modules/@nestjs/common/exceptions/index.d.ts","../node_modules/@nestjs/common/file-stream/interfaces/streamable-options.interface.d.ts","../node_modules/@nestjs/common/file-stream/interfaces/streamable-handler-response.interface.d.ts","../node_modules/@nestjs/common/file-stream/interfaces/index.d.ts","../node_modules/@nestjs/common/services/console-logger.service.d.ts","../node_modules/@nestjs/common/services/index.d.ts","../node_modules/@nestjs/common/file-stream/streamable-file.d.ts","../node_modules/@nestjs/common/file-stream/index.d.ts","../node_modules/@nestjs/common/module-utils/constants.d.ts","../node_modules/@nestjs/common/module-utils/interfaces/configurable-module-async-options.interface.d.ts","../node_modules/@nestjs/common/module-utils/interfaces/configurable-module-cls.interface.d.ts","../node_modules/@nestjs/common/module-utils/interfaces/configurable-module-host.interface.d.ts","../node_modules/@nestjs/common/module-utils/interfaces/index.d.ts","../node_modules/@nestjs/common/module-utils/configurable-module.builder.d.ts","../node_modules/@nestjs/common/module-utils/index.d.ts","../node_modules/@nestjs/common/pipes/default-value.pipe.d.ts","../node_modules/@nestjs/common/interfaces/external/class-transform-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/transformer-package.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/validator-options.interface.d.ts","../node_modules/@nestjs/common/interfaces/external/validator-package.interface.d.ts","../node_modules/@nestjs/common/utils/http-error-by-code.util.d.ts","../node_modules/@nestjs/common/pipes/validation.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-array.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-bool.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-int.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-float.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-enum.pipe.d.ts","../node_modules/@nestjs/common/pipes/parse-uuid.pipe.d.ts","../node_modules/@nestjs/common/pipes/file/interfaces/file.interface.d.ts","../node_modules/@nestjs/common/pipes/file/interfaces/index.d.ts","../node_modules/@nestjs/common/pipes/file/file-validator.interface.d.ts","../node_modules/@nestjs/common/pipes/file/file-type.validator.d.ts","../node_modules/@nestjs/common/pipes/file/max-file-size.validator.d.ts","../node_modules/@nestjs/common/pipes/file/parse-file-options.interface.d.ts","../node_modules/@nestjs/common/pipes/file/parse-file.pipe.d.ts","../node_modules/@nestjs/common/pipes/file/parse-file-pipe.builder.d.ts","../node_modules/@nestjs/common/pipes/file/index.d.ts","../node_modules/@nestjs/common/pipes/index.d.ts","../node_modules/@nestjs/common/serializer/class-serializer.interfaces.d.ts","../node_modules/@nestjs/common/serializer/class-serializer.interceptor.d.ts","../node_modules/@nestjs/common/serializer/decorators/serialize-options.decorator.d.ts","../node_modules/@nestjs/common/serializer/decorators/index.d.ts","../node_modules/@nestjs/common/serializer/index.d.ts","../node_modules/@nestjs/common/utils/forward-ref.util.d.ts","../node_modules/@nestjs/common/utils/index.d.ts","../node_modules/@nestjs/common/index.d.ts","../src/app.service.ts","../src/app.controller.ts","../node_modules/typeorm/metadata/types/relationtypes.d.ts","../node_modules/typeorm/metadata/types/deferrabletype.d.ts","../node_modules/typeorm/metadata/types/ondeletetype.d.ts","../node_modules/typeorm/metadata/types/onupdatetype.d.ts","../node_modules/typeorm/decorator/options/relationoptions.d.ts","../node_modules/typeorm/metadata/types/propertytypeinfunction.d.ts","../node_modules/typeorm/common/objecttype.d.ts","../node_modules/typeorm/common/entitytarget.d.ts","../node_modules/typeorm/metadata/types/relationtypeinfunction.d.ts","../node_modules/typeorm/metadata-args/relationmetadataargs.d.ts","../node_modules/typeorm/driver/types/columntypes.d.ts","../node_modules/typeorm/decorator/options/valuetransformer.d.ts","../node_modules/typeorm/decorator/options/columncommonoptions.d.ts","../node_modules/typeorm/decorator/options/columnoptions.d.ts","../node_modules/typeorm/metadata-args/types/columnmode.d.ts","../node_modules/typeorm/metadata-args/columnmetadataargs.d.ts","../node_modules/typeorm/common/objectliteral.d.ts","../node_modules/typeorm/schema-builder/options/tablecolumnoptions.d.ts","../node_modules/typeorm/schema-builder/table/tablecolumn.d.ts","../node_modules/typeorm/schema-builder/options/viewoptions.d.ts","../node_modules/typeorm/schema-builder/view/view.d.ts","../node_modules/typeorm/naming-strategy/namingstrategyinterface.d.ts","../node_modules/typeorm/metadata/foreignkeymetadata.d.ts","../node_modules/typeorm/metadata/relationmetadata.d.ts","../node_modules/typeorm/metadata-args/embeddedmetadataargs.d.ts","../node_modules/typeorm/metadata-args/relationidmetadataargs.d.ts","../node_modules/typeorm/metadata/relationidmetadata.d.ts","../node_modules/typeorm/metadata/relationcountmetadata.d.ts","../node_modules/typeorm/metadata/types/eventlistenertypes.d.ts","../node_modules/typeorm/metadata-args/entitylistenermetadataargs.d.ts","../node_modules/typeorm/metadata/entitylistenermetadata.d.ts","../node_modules/typeorm/metadata-args/uniquemetadataargs.d.ts","../node_modules/typeorm/metadata/uniquemetadata.d.ts","../node_modules/typeorm/metadata/embeddedmetadata.d.ts","../node_modules/typeorm/metadata/columnmetadata.d.ts","../node_modules/typeorm/driver/types/ctecapabilities.d.ts","../node_modules/typeorm/driver/types/mappedcolumntypes.d.ts","../node_modules/typeorm/driver/query.d.ts","../node_modules/typeorm/driver/sqlinmemory.d.ts","../node_modules/typeorm/schema-builder/schemabuilder.d.ts","../node_modules/typeorm/driver/types/datatypedefaults.d.ts","../node_modules/typeorm/entity-schema/entityschemaindexoptions.d.ts","../node_modules/typeorm/driver/types/geojsontypes.d.ts","../node_modules/typeorm/decorator/options/spatialcolumnoptions.d.ts","../node_modules/typeorm/entity-schema/entityschemacolumnoptions.d.ts","../node_modules/typeorm/decorator/options/joincolumnoptions.d.ts","../node_modules/typeorm/decorator/options/jointablemultiplecolumnsoptions.d.ts","../node_modules/typeorm/decorator/options/jointableoptions.d.ts","../node_modules/typeorm/entity-schema/entityschemarelationoptions.d.ts","../node_modules/typeorm/find-options/orderbycondition.d.ts","../node_modules/typeorm/metadata/types/tabletypes.d.ts","../node_modules/typeorm/entity-schema/entityschemauniqueoptions.d.ts","../node_modules/typeorm/entity-schema/entityschemacheckoptions.d.ts","../node_modules/typeorm/entity-schema/entityschemaexclusionoptions.d.ts","../node_modules/typeorm/entity-schema/entityschemainheritanceoptions.d.ts","../node_modules/typeorm/entity-schema/entityschemarelationidoptions.d.ts","../node_modules/typeorm/entity-schema/entityschemaoptions.d.ts","../node_modules/typeorm/entity-schema/entityschema.d.ts","../node_modules/typeorm/logger/logger.d.ts","../node_modules/typeorm/logger/loggeroptions.d.ts","../node_modules/typeorm/driver/types/databasetype.d.ts","../node_modules/typeorm/cache/queryresultcacheoptions.d.ts","../node_modules/typeorm/cache/queryresultcache.d.ts","../node_modules/typeorm/common/mixedlist.d.ts","../node_modules/typeorm/data-source/basedatasourceoptions.d.ts","../node_modules/typeorm/driver/types/replicationmode.d.ts","../node_modules/typeorm/schema-builder/options/tableforeignkeyoptions.d.ts","../node_modules/typeorm/schema-builder/table/tableforeignkey.d.ts","../node_modules/typeorm/driver/types/upserttype.d.ts","../node_modules/typeorm/driver/driver.d.ts","../node_modules/typeorm/find-options/joinoptions.d.ts","../node_modules/typeorm/find-options/findoperatortype.d.ts","../node_modules/typeorm/find-options/findoperator.d.ts","../node_modules/typeorm/driver/mongodb/bson.typings.d.ts","../node_modules/typeorm/platform/platformtools.d.ts","../node_modules/typeorm/driver/mongodb/typings.d.ts","../node_modules/typeorm/find-options/equaloperator.d.ts","../node_modules/typeorm/find-options/findoptionswhere.d.ts","../node_modules/typeorm/find-options/findoptionsselect.d.ts","../node_modules/typeorm/find-options/findoptionsrelations.d.ts","../node_modules/typeorm/find-options/findoptionsorder.d.ts","../node_modules/typeorm/find-options/findoneoptions.d.ts","../node_modules/typeorm/find-options/findmanyoptions.d.ts","../node_modules/typeorm/common/deeppartial.d.ts","../node_modules/typeorm/repository/saveoptions.d.ts","../node_modules/typeorm/repository/removeoptions.d.ts","../node_modules/typeorm/find-options/mongodb/mongofindoneoptions.d.ts","../node_modules/typeorm/find-options/mongodb/mongofindmanyoptions.d.ts","../node_modules/typeorm/schema-builder/options/tableuniqueoptions.d.ts","../node_modules/typeorm/schema-builder/table/tableunique.d.ts","../node_modules/typeorm/subscriber/event/transactioncommitevent.d.ts","../node_modules/typeorm/subscriber/event/transactionrollbackevent.d.ts","../node_modules/typeorm/subscriber/event/transactionstartevent.d.ts","../node_modules/typeorm/subscriber/event/updateevent.d.ts","../node_modules/typeorm/subscriber/event/removeevent.d.ts","../node_modules/typeorm/subscriber/event/insertevent.d.ts","../node_modules/typeorm/subscriber/event/loadevent.d.ts","../node_modules/typeorm/subscriber/event/softremoveevent.d.ts","../node_modules/typeorm/subscriber/event/recoverevent.d.ts","../node_modules/typeorm/subscriber/event/queryevent.d.ts","../node_modules/typeorm/subscriber/entitysubscriberinterface.d.ts","../node_modules/typeorm/subscriber/broadcasterresult.d.ts","../node_modules/typeorm/subscriber/broadcaster.d.ts","../node_modules/typeorm/schema-builder/options/tablecheckoptions.d.ts","../node_modules/typeorm/metadata-args/checkmetadataargs.d.ts","../node_modules/typeorm/metadata/checkmetadata.d.ts","../node_modules/typeorm/schema-builder/table/tablecheck.d.ts","../node_modules/typeorm/schema-builder/options/tableexclusionoptions.d.ts","../node_modules/typeorm/metadata-args/exclusionmetadataargs.d.ts","../node_modules/typeorm/metadata/exclusionmetadata.d.ts","../node_modules/typeorm/schema-builder/table/tableexclusion.d.ts","../node_modules/typeorm/driver/mongodb/mongoqueryrunner.d.ts","../node_modules/typeorm/query-builder/querypartialentity.d.ts","../node_modules/typeorm/query-runner/queryresult.d.ts","../node_modules/typeorm/query-builder/result/insertresult.d.ts","../node_modules/typeorm/query-builder/result/updateresult.d.ts","../node_modules/typeorm/query-builder/result/deleteresult.d.ts","../node_modules/typeorm/entity-manager/mongoentitymanager.d.ts","../node_modules/typeorm/repository/mongorepository.d.ts","../node_modules/typeorm/find-options/findtreeoptions.d.ts","../node_modules/typeorm/repository/treerepository.d.ts","../node_modules/typeorm/query-builder/transformer/plainobjecttonewentitytransformer.d.ts","../node_modules/typeorm/driver/types/isolationlevel.d.ts","../node_modules/typeorm/query-builder/insertorupdateoptions.d.ts","../node_modules/typeorm/repository/upsertoptions.d.ts","../node_modules/typeorm/common/pickkeysbytype.d.ts","../node_modules/typeorm/entity-manager/entitymanager.d.ts","../node_modules/typeorm/repository/repository.d.ts","../node_modules/typeorm/migration/migrationinterface.d.ts","../node_modules/typeorm/migration/migration.d.ts","../node_modules/typeorm/driver/cockroachdb/cockroachconnectioncredentialsoptions.d.ts","../node_modules/typeorm/driver/cockroachdb/cockroachconnectionoptions.d.ts","../node_modules/typeorm/driver/mysql/mysqlconnectioncredentialsoptions.d.ts","../node_modules/typeorm/driver/mysql/mysqlconnectionoptions.d.ts","../node_modules/typeorm/driver/postgres/postgresconnectioncredentialsoptions.d.ts","../node_modules/typeorm/driver/postgres/postgresconnectionoptions.d.ts","../node_modules/typeorm/driver/sqlite/sqliteconnectionoptions.d.ts","../node_modules/typeorm/driver/sqlserver/authentication/defaultauthentication.d.ts","../node_modules/typeorm/driver/sqlserver/authentication/azureactivedirectoryaccesstokenauthentication.d.ts","../node_modules/typeorm/driver/sqlserver/authentication/azureactivedirectorydefaultauthentication.d.ts","../node_modules/typeorm/driver/sqlserver/authentication/azureactivedirectorymsiappserviceauthentication.d.ts","../node_modules/typeorm/driver/sqlserver/authentication/azureactivedirectorymsivmauthentication.d.ts","../node_modules/typeorm/driver/sqlserver/authentication/azureactivedirectorypasswordauthentication.d.ts","../node_modules/typeorm/driver/sqlserver/authentication/azureactivedirectoryserviceprincipalsecret.d.ts","../node_modules/typeorm/driver/sqlserver/authentication/ntlmauthentication.d.ts","../node_modules/typeorm/driver/sqlserver/sqlserverconnectioncredentialsoptions.d.ts","../node_modules/typeorm/driver/sqlserver/sqlserverconnectionoptions.d.ts","../node_modules/typeorm/driver/oracle/oracleconnectioncredentialsoptions.d.ts","../node_modules/typeorm/driver/oracle/oracleconnectionoptions.d.ts","../node_modules/typeorm/driver/mongodb/mongoconnectionoptions.d.ts","../node_modules/typeorm/driver/cordova/cordovaconnectionoptions.d.ts","../node_modules/typeorm/driver/sqljs/sqljsconnectionoptions.d.ts","../node_modules/typeorm/driver/react-native/reactnativeconnectionoptions.d.ts","../node_modules/typeorm/driver/nativescript/nativescriptconnectionoptions.d.ts","../node_modules/typeorm/driver/expo/expoconnectionoptions.d.ts","../node_modules/typeorm/driver/aurora-mysql/auroramysqlconnectioncredentialsoptions.d.ts","../node_modules/typeorm/driver/aurora-mysql/auroramysqlconnectionoptions.d.ts","../node_modules/typeorm/driver/sap/sapconnectioncredentialsoptions.d.ts","../node_modules/typeorm/driver/sap/sapconnectionoptions.d.ts","../node_modules/typeorm/driver/aurora-postgres/aurorapostgresconnectionoptions.d.ts","../node_modules/typeorm/driver/better-sqlite3/bettersqlite3connectionoptions.d.ts","../node_modules/typeorm/driver/capacitor/capacitorconnectionoptions.d.ts","../node_modules/typeorm/connection/baseconnectionoptions.d.ts","../node_modules/typeorm/driver/spanner/spannerconnectioncredentialsoptions.d.ts","../node_modules/typeorm/driver/spanner/spannerconnectionoptions.d.ts","../node_modules/typeorm/data-source/datasourceoptions.d.ts","../node_modules/typeorm/entity-manager/sqljsentitymanager.d.ts","../node_modules/typeorm/query-builder/relationloader.d.ts","../node_modules/typeorm/query-builder/relationidloader.d.ts","../node_modules/typeorm/data-source/datasource.d.ts","../node_modules/typeorm/metadata-args/tablemetadataargs.d.ts","../node_modules/typeorm/metadata/types/treetypes.d.ts","../node_modules/typeorm/metadata/types/closuretreeoptions.d.ts","../node_modules/typeorm/metadata-args/treemetadataargs.d.ts","../node_modules/typeorm/metadata/entitymetadata.d.ts","../node_modules/typeorm/metadata-args/indexmetadataargs.d.ts","../node_modules/typeorm/metadata/indexmetadata.d.ts","../node_modules/typeorm/schema-builder/options/tableindexoptions.d.ts","../node_modules/typeorm/schema-builder/table/tableindex.d.ts","../node_modules/typeorm/schema-builder/options/tableoptions.d.ts","../node_modules/typeorm/schema-builder/table/table.d.ts","../node_modules/typeorm/query-runner/queryrunner.d.ts","../node_modules/typeorm/query-builder/querybuildercte.d.ts","../node_modules/typeorm/query-builder/alias.d.ts","../node_modules/typeorm/query-builder/joinattribute.d.ts","../node_modules/typeorm/query-builder/relation-id/relationidattribute.d.ts","../node_modules/typeorm/query-builder/relation-count/relationcountattribute.d.ts","../node_modules/typeorm/query-builder/selectquery.d.ts","../node_modules/typeorm/query-builder/selectquerybuilderoption.d.ts","../node_modules/typeorm/query-builder/whereclause.d.ts","../node_modules/typeorm/query-builder/queryexpressionmap.d.ts","../node_modules/typeorm/query-builder/brackets.d.ts","../node_modules/typeorm/query-builder/whereexpressionbuilder.d.ts","../node_modules/typeorm/query-builder/updatequerybuilder.d.ts","../node_modules/typeorm/query-builder/deletequerybuilder.d.ts","../node_modules/typeorm/query-builder/softdeletequerybuilder.d.ts","../node_modules/typeorm/query-builder/insertquerybuilder.d.ts","../node_modules/typeorm/query-builder/relationquerybuilder.d.ts","../node_modules/typeorm/query-builder/notbrackets.d.ts","../node_modules/typeorm/query-builder/querybuilder.d.ts","../node_modules/typeorm/query-builder/selectquerybuilder.d.ts","../node_modules/typeorm/metadata-args/relationcountmetadataargs.d.ts","../node_modules/typeorm/metadata-args/namingstrategymetadataargs.d.ts","../node_modules/typeorm/metadata-args/joincolumnmetadataargs.d.ts","../node_modules/typeorm/metadata-args/jointablemetadataargs.d.ts","../node_modules/typeorm/metadata-args/entitysubscribermetadataargs.d.ts","../node_modules/typeorm/metadata-args/inheritancemetadataargs.d.ts","../node_modules/typeorm/metadata-args/discriminatorvaluemetadataargs.d.ts","../node_modules/typeorm/metadata-args/entityrepositorymetadataargs.d.ts","../node_modules/typeorm/metadata-args/transactionentitymetadataargs.d.ts","../node_modules/typeorm/metadata-args/transactionrepositorymetadataargs.d.ts","../node_modules/typeorm/metadata-args/generatedmetadataargs.d.ts","../node_modules/typeorm/metadata-args/metadataargsstorage.d.ts","../node_modules/typeorm/connection/connectionmanager.d.ts","../node_modules/typeorm/globals.d.ts","../node_modules/typeorm/container.d.ts","../node_modules/typeorm/common/relationtype.d.ts","../node_modules/typeorm/error/typeormerror.d.ts","../node_modules/typeorm/error/cannotreflectmethodparametertypeerror.d.ts","../node_modules/typeorm/error/alreadyhasactiveconnectionerror.d.ts","../node_modules/typeorm/persistence/subjectchangemap.d.ts","../node_modules/typeorm/persistence/subject.d.ts","../node_modules/typeorm/error/subjectwithoutidentifiererror.d.ts","../node_modules/typeorm/error/cannotconnectalreadyconnectederror.d.ts","../node_modules/typeorm/error/locknotsupportedongivendrivererror.d.ts","../node_modules/typeorm/error/connectionisnotseterror.d.ts","../node_modules/typeorm/error/cannotcreateentityidmaperror.d.ts","../node_modules/typeorm/error/metadataalreadyexistserror.d.ts","../node_modules/typeorm/error/cannotdetermineentityerror.d.ts","../node_modules/typeorm/error/updatevaluesmissingerror.d.ts","../node_modules/typeorm/error/treerepositorynotsupportederror.d.ts","../node_modules/typeorm/error/customrepositorynotfounderror.d.ts","../node_modules/typeorm/error/transactionnotstartederror.d.ts","../node_modules/typeorm/error/transactionalreadystartederror.d.ts","../node_modules/typeorm/error/entitynotfounderror.d.ts","../node_modules/typeorm/error/entitymetadatanotfounderror.d.ts","../node_modules/typeorm/error/mustbeentityerror.d.ts","../node_modules/typeorm/error/optimisticlockversionmismatcherror.d.ts","../node_modules/typeorm/error/limitonupdatenotsupportederror.d.ts","../node_modules/typeorm/error/primarycolumncannotbenullableerror.d.ts","../node_modules/typeorm/error/customrepositorycannotinheritrepositoryerror.d.ts","../node_modules/typeorm/error/queryrunnerprovideralreadyreleasederror.d.ts","../node_modules/typeorm/error/cannotattachtreechildrenentityerror.d.ts","../node_modules/typeorm/error/customrepositorydoesnothaveentityerror.d.ts","../node_modules/typeorm/error/missingdeletedatecolumnerror.d.ts","../node_modules/typeorm/error/noconnectionforrepositoryerror.d.ts","../node_modules/typeorm/error/circularrelationserror.d.ts","../node_modules/typeorm/error/returningstatementnotsupportederror.d.ts","../node_modules/typeorm/error/usingjointableisnotallowederror.d.ts","../node_modules/typeorm/error/missingjoincolumnerror.d.ts","../node_modules/typeorm/error/missingprimarycolumnerror.d.ts","../node_modules/typeorm/error/entitypropertynotfounderror.d.ts","../node_modules/typeorm/error/missingdrivererror.d.ts","../node_modules/typeorm/error/driverpackagenotinstallederror.d.ts","../node_modules/typeorm/error/cannotgetentitymanagernotconnectederror.d.ts","../node_modules/typeorm/error/connectionnotfounderror.d.ts","../node_modules/typeorm/error/noversionorupdatedatecolumnerror.d.ts","../node_modules/typeorm/error/insertvaluesmissingerror.d.ts","../node_modules/typeorm/error/optimisticlockcannotbeusederror.d.ts","../node_modules/typeorm/error/metadatawithsuchnamealreadyexistserror.d.ts","../node_modules/typeorm/error/driveroptionnotseterror.d.ts","../node_modules/typeorm/error/findrelationsnotfounderror.d.ts","../node_modules/typeorm/error/namingstrategynotfounderror.d.ts","../node_modules/typeorm/error/pessimisticlocktransactionrequirederror.d.ts","../node_modules/typeorm/error/repositorynottreeerror.d.ts","../node_modules/typeorm/error/datatypenotsupportederror.d.ts","../node_modules/typeorm/error/initializedrelationerror.d.ts","../node_modules/typeorm/error/missingjointableerror.d.ts","../node_modules/typeorm/error/queryfailederror.d.ts","../node_modules/typeorm/error/noneedtoreleaseentitymanagererror.d.ts","../node_modules/typeorm/error/usingjoincolumnonlyononesideallowederror.d.ts","../node_modules/typeorm/error/usingjointableonlyononesideallowederror.d.ts","../node_modules/typeorm/error/subjectremovedandupdatederror.d.ts","../node_modules/typeorm/error/persistedentitynotfounderror.d.ts","../node_modules/typeorm/error/usingjoincolumnisnotallowederror.d.ts","../node_modules/typeorm/error/columntypeundefinederror.d.ts","../node_modules/typeorm/error/queryrunneralreadyreleasederror.d.ts","../node_modules/typeorm/error/offsetwithoutlimitnotsupportederror.d.ts","../node_modules/typeorm/error/cannotexecutenotconnectederror.d.ts","../node_modules/typeorm/error/noconnectionoptionerror.d.ts","../node_modules/typeorm/error/forbiddentransactionmodeoverrideerror.d.ts","../node_modules/typeorm/error/index.d.ts","../node_modules/typeorm/decorator/options/columnwithlengthoptions.d.ts","../node_modules/typeorm/decorator/options/columnnumericoptions.d.ts","../node_modules/typeorm/decorator/options/columnenumoptions.d.ts","../node_modules/typeorm/decorator/options/columnembeddedoptions.d.ts","../node_modules/typeorm/decorator/options/columnhstoreoptions.d.ts","../node_modules/typeorm/decorator/options/columnwithwidthoptions.d.ts","../node_modules/typeorm/decorator/columns/column.d.ts","../node_modules/typeorm/decorator/columns/createdatecolumn.d.ts","../node_modules/typeorm/decorator/columns/deletedatecolumn.d.ts","../node_modules/typeorm/decorator/options/primarygeneratedcolumnnumericoptions.d.ts","../node_modules/typeorm/decorator/options/primarygeneratedcolumnuuidoptions.d.ts","../node_modules/typeorm/decorator/options/primarygeneratedcolumnidentityoptions.d.ts","../node_modules/typeorm/decorator/columns/primarygeneratedcolumn.d.ts","../node_modules/typeorm/decorator/columns/primarycolumn.d.ts","../node_modules/typeorm/decorator/columns/updatedatecolumn.d.ts","../node_modules/typeorm/decorator/columns/versioncolumn.d.ts","../node_modules/typeorm/decorator/options/virtualcolumnoptions.d.ts","../node_modules/typeorm/decorator/columns/virtualcolumn.d.ts","../node_modules/typeorm/decorator/options/viewcolumnoptions.d.ts","../node_modules/typeorm/decorator/columns/viewcolumn.d.ts","../node_modules/typeorm/decorator/columns/objectidcolumn.d.ts","../node_modules/typeorm/decorator/listeners/afterinsert.d.ts","../node_modules/typeorm/decorator/listeners/afterload.d.ts","../node_modules/typeorm/decorator/listeners/afterremove.d.ts","../node_modules/typeorm/decorator/listeners/aftersoftremove.d.ts","../node_modules/typeorm/decorator/listeners/afterrecover.d.ts","../node_modules/typeorm/decorator/listeners/afterupdate.d.ts","../node_modules/typeorm/decorator/listeners/beforeinsert.d.ts","../node_modules/typeorm/decorator/listeners/beforeremove.d.ts","../node_modules/typeorm/decorator/listeners/beforesoftremove.d.ts","../node_modules/typeorm/decorator/listeners/beforerecover.d.ts","../node_modules/typeorm/decorator/listeners/beforeupdate.d.ts","../node_modules/typeorm/decorator/listeners/eventsubscriber.d.ts","../node_modules/typeorm/decorator/options/indexoptions.d.ts","../node_modules/typeorm/decorator/options/entityoptions.d.ts","../node_modules/typeorm/decorator/relations/joincolumn.d.ts","../node_modules/typeorm/decorator/relations/jointable.d.ts","../node_modules/typeorm/decorator/relations/manytomany.d.ts","../node_modules/typeorm/decorator/relations/manytoone.d.ts","../node_modules/typeorm/decorator/relations/onetomany.d.ts","../node_modules/typeorm/decorator/relations/onetoone.d.ts","../node_modules/typeorm/decorator/relations/relationcount.d.ts","../node_modules/typeorm/decorator/relations/relationid.d.ts","../node_modules/typeorm/decorator/entity/entity.d.ts","../node_modules/typeorm/decorator/entity/childentity.d.ts","../node_modules/typeorm/decorator/entity/tableinheritance.d.ts","../node_modules/typeorm/decorator/options/viewentityoptions.d.ts","../node_modules/typeorm/decorator/entity-view/viewentity.d.ts","../node_modules/typeorm/decorator/tree/treelevelcolumn.d.ts","../node_modules/typeorm/decorator/tree/treeparent.d.ts","../node_modules/typeorm/decorator/tree/treechildren.d.ts","../node_modules/typeorm/decorator/tree/tree.d.ts","../node_modules/typeorm/decorator/index.d.ts","../node_modules/typeorm/decorator/options/uniqueoptions.d.ts","../node_modules/typeorm/decorator/unique.d.ts","../node_modules/typeorm/decorator/check.d.ts","../node_modules/typeorm/decorator/exclusion.d.ts","../node_modules/typeorm/decorator/generated.d.ts","../node_modules/typeorm/decorator/entityrepository.d.ts","../node_modules/typeorm/find-options/operator/and.d.ts","../node_modules/typeorm/find-options/operator/or.d.ts","../node_modules/typeorm/find-options/operator/any.d.ts","../node_modules/typeorm/find-options/operator/arraycontainedby.d.ts","../node_modules/typeorm/find-options/operator/arraycontains.d.ts","../node_modules/typeorm/find-options/operator/arrayoverlap.d.ts","../node_modules/typeorm/find-options/operator/between.d.ts","../node_modules/typeorm/find-options/operator/equal.d.ts","../node_modules/typeorm/find-options/operator/in.d.ts","../node_modules/typeorm/find-options/operator/isnull.d.ts","../node_modules/typeorm/find-options/operator/lessthan.d.ts","../node_modules/typeorm/find-options/operator/lessthanorequal.d.ts","../node_modules/typeorm/find-options/operator/ilike.d.ts","../node_modules/typeorm/find-options/operator/like.d.ts","../node_modules/typeorm/find-options/operator/morethan.d.ts","../node_modules/typeorm/find-options/operator/morethanorequal.d.ts","../node_modules/typeorm/find-options/operator/not.d.ts","../node_modules/typeorm/find-options/operator/raw.d.ts","../node_modules/typeorm/find-options/operator/jsoncontains.d.ts","../node_modules/typeorm/find-options/findoptionsutils.d.ts","../node_modules/typeorm/logger/abstractlogger.d.ts","../node_modules/typeorm/logger/advancedconsolelogger.d.ts","../node_modules/typeorm/logger/simpleconsolelogger.d.ts","../node_modules/typeorm/logger/filelogger.d.ts","../node_modules/typeorm/repository/abstractrepository.d.ts","../node_modules/typeorm/data-source/index.d.ts","../node_modules/typeorm/repository/baseentity.d.ts","../node_modules/typeorm/driver/sqlserver/mssqlparameter.d.ts","../node_modules/typeorm/connection/connectionoptionsreader.d.ts","../node_modules/typeorm/connection/connectionoptions.d.ts","../node_modules/typeorm/connection/connection.d.ts","../node_modules/typeorm/migration/migrationexecutor.d.ts","../node_modules/typeorm/naming-strategy/defaultnamingstrategy.d.ts","../node_modules/typeorm/naming-strategy/legacyoraclenamingstrategy.d.ts","../node_modules/typeorm/entity-schema/entityschemaembeddedcolumnoptions.d.ts","../node_modules/typeorm/schema-builder/rdbmsschemabuilder.d.ts","../node_modules/typeorm/util/instancechecker.d.ts","../node_modules/typeorm/repository/findtreesoptions.d.ts","../node_modules/typeorm/util/treerepositoryutils.d.ts","../node_modules/typeorm/index.d.ts","../node_modules/@nestjs/typeorm/dist/interfaces/entity-class-or-schema.type.d.ts","../node_modules/@nestjs/typeorm/dist/common/typeorm.decorators.d.ts","../node_modules/@nestjs/typeorm/dist/common/typeorm.utils.d.ts","../node_modules/@nestjs/typeorm/dist/common/index.d.ts","../node_modules/@nestjs/typeorm/dist/interfaces/typeorm-options.interface.d.ts","../node_modules/@nestjs/typeorm/dist/interfaces/index.d.ts","../node_modules/@nestjs/typeorm/dist/typeorm.module.d.ts","../node_modules/@nestjs/typeorm/dist/index.d.ts","../node_modules/@nestjs/typeorm/index.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-basic.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-bearer.decorator.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/open-api-spec.interface.d.ts","../node_modules/@nestjs/swagger/dist/types/swagger-enum.type.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-body.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-consumes.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-cookie.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-exclude-endpoint.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-exclude-controller.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-extra-models.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-header.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-hide-property.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-oauth2.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-operation.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-param.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-produces.decorator.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/schema-object-metadata.interface.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-property.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-query.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-response.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-security.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-use-tags.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/api-extension.decorator.d.ts","../node_modules/@nestjs/swagger/dist/decorators/index.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/swagger-ui-options.interface.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/swagger-custom-options.interface.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/swagger-document-options.interface.d.ts","../node_modules/@nestjs/swagger/dist/interfaces/index.d.ts","../node_modules/@nestjs/swagger/dist/document-builder.d.ts","../node_modules/@nestjs/swagger/dist/swagger-module.d.ts","../node_modules/@nestjs/swagger/dist/type-helpers/intersection-type.helper.d.ts","../node_modules/@nestjs/swagger/dist/type-helpers/omit-type.helper.d.ts","../node_modules/@nestjs/swagger/dist/type-helpers/partial-type.helper.d.ts","../node_modules/@nestjs/swagger/dist/type-helpers/pick-type.helper.d.ts","../node_modules/@nestjs/swagger/dist/type-helpers/index.d.ts","../node_modules/@nestjs/swagger/dist/utils/get-schema-path.util.d.ts","../node_modules/@nestjs/swagger/dist/utils/index.d.ts","../node_modules/@nestjs/swagger/dist/index.d.ts","../node_modules/@nestjs/swagger/index.d.ts","../src/shared/enum/admin-role.enum.ts","../src/shared/enum/user-status.enum.ts","../src/admin/dto/create-admin.dto.ts","../src/auth/admin/entitites/admin-reset-code.entity.ts","../src/pointofinterest/entities/pointofinterest.entity.ts","../src/pointofinterest/enum/available.enum.ts","../src/place/entities/available-date.entity.ts","../src/category/entities/category.entity.ts","../src/shared/enum/languages.enum.ts","../src/place/entities/place-traduction.entity.ts","../src/auth/user/entities/user-confirm-code.entity.ts","../src/auth/user/entities/user-reset-code.entity.ts","../src/user/entities/user.entity.ts","../src/visited/entities/visited.entity.ts","../src/place/entities/place.entity.ts","../src/state/entities/state.entity.ts","../src/town/entities/town.entity.ts","../src/admin/entities/admin.entity.ts","../src/admin/dto/get-admin.dto.ts","../src/admin/admin.service.ts","../node_modules/@nestjs/core/adapters/http-adapter.d.ts","../node_modules/@nestjs/core/adapters/index.d.ts","../node_modules/@nestjs/common/constants.d.ts","../node_modules/@nestjs/core/inspector/interfaces/edge.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/entrypoint.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/extras.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/node.interface.d.ts","../node_modules/@nestjs/core/injector/settlement-signal.d.ts","../node_modules/@nestjs/core/injector/injector.d.ts","../node_modules/@nestjs/core/inspector/interfaces/serialized-graph-metadata.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/serialized-graph-json.interface.d.ts","../node_modules/@nestjs/core/inspector/serialized-graph.d.ts","../node_modules/@nestjs/core/injector/module-token-factory.d.ts","../node_modules/@nestjs/core/injector/compiler.d.ts","../node_modules/@nestjs/core/injector/modules-container.d.ts","../node_modules/@nestjs/core/injector/container.d.ts","../node_modules/@nestjs/core/injector/instance-links-host.d.ts","../node_modules/@nestjs/core/injector/abstract-instance-resolver.d.ts","../node_modules/@nestjs/core/injector/module-ref.d.ts","../node_modules/@nestjs/core/injector/module.d.ts","../node_modules/@nestjs/core/injector/instance-wrapper.d.ts","../node_modules/@nestjs/core/router/interfaces/exclude-route-metadata.interface.d.ts","../node_modules/@nestjs/core/application-config.d.ts","../node_modules/@nestjs/core/constants.d.ts","../node_modules/@nestjs/core/discovery/discovery-module.d.ts","../node_modules/@nestjs/core/discovery/discovery-service.d.ts","../node_modules/@nestjs/core/discovery/index.d.ts","../node_modules/@nestjs/core/helpers/http-adapter-host.d.ts","../node_modules/@nestjs/core/exceptions/base-exception-filter.d.ts","../node_modules/@nestjs/core/exceptions/index.d.ts","../node_modules/@nestjs/core/helpers/context-id-factory.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/exception-filter-metadata.interface.d.ts","../node_modules/@nestjs/core/exceptions/exceptions-handler.d.ts","../node_modules/@nestjs/core/router/router-proxy.d.ts","../node_modules/@nestjs/core/helpers/context-creator.d.ts","../node_modules/@nestjs/core/exceptions/base-exception-filter-context.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/rpc-exception-filter-metadata.interface.d.ts","../node_modules/@nestjs/common/interfaces/exceptions/index.d.ts","../node_modules/@nestjs/core/exceptions/external-exception-filter.d.ts","../node_modules/@nestjs/core/exceptions/external-exceptions-handler.d.ts","../node_modules/@nestjs/core/exceptions/external-exception-filter-context.d.ts","../node_modules/@nestjs/core/guards/constants.d.ts","../node_modules/@nestjs/core/helpers/execution-context-host.d.ts","../node_modules/@nestjs/core/guards/guards-consumer.d.ts","../node_modules/@nestjs/core/guards/guards-context-creator.d.ts","../node_modules/@nestjs/core/guards/index.d.ts","../node_modules/@nestjs/core/interceptors/interceptors-consumer.d.ts","../node_modules/@nestjs/core/interceptors/interceptors-context-creator.d.ts","../node_modules/@nestjs/core/interceptors/index.d.ts","../node_modules/@nestjs/common/enums/route-paramtypes.enum.d.ts","../node_modules/@nestjs/core/pipes/params-token-factory.d.ts","../node_modules/@nestjs/core/pipes/pipes-consumer.d.ts","../node_modules/@nestjs/core/pipes/pipes-context-creator.d.ts","../node_modules/@nestjs/core/pipes/index.d.ts","../node_modules/@nestjs/core/helpers/context-utils.d.ts","../node_modules/@nestjs/core/injector/inquirer/inquirer-constants.d.ts","../node_modules/@nestjs/core/injector/inquirer/index.d.ts","../node_modules/@nestjs/core/interfaces/module-definition.interface.d.ts","../node_modules/@nestjs/core/interfaces/module-override.interface.d.ts","../node_modules/@nestjs/core/inspector/interfaces/enhancer-metadata-cache-entry.interface.d.ts","../node_modules/@nestjs/core/inspector/graph-inspector.d.ts","../node_modules/@nestjs/core/metadata-scanner.d.ts","../node_modules/@nestjs/core/scanner.d.ts","../node_modules/@nestjs/core/injector/instance-loader.d.ts","../node_modules/@nestjs/core/injector/lazy-module-loader/lazy-module-loader-options.interface.d.ts","../node_modules/@nestjs/core/injector/lazy-module-loader/lazy-module-loader.d.ts","../node_modules/@nestjs/core/injector/index.d.ts","../node_modules/@nestjs/core/helpers/interfaces/external-handler-metadata.interface.d.ts","../node_modules/@nestjs/core/helpers/interfaces/params-metadata.interface.d.ts","../node_modules/@nestjs/core/helpers/external-context-creator.d.ts","../node_modules/@nestjs/core/helpers/index.d.ts","../node_modules/@nestjs/core/inspector/initialize-on-preview.allowlist.d.ts","../node_modules/@nestjs/core/inspector/partial-graph.host.d.ts","../node_modules/@nestjs/core/inspector/index.d.ts","../node_modules/@nestjs/core/middleware/route-info-path-extractor.d.ts","../node_modules/@nestjs/core/middleware/routes-mapper.d.ts","../node_modules/@nestjs/core/middleware/builder.d.ts","../node_modules/@nestjs/core/middleware/index.d.ts","../node_modules/@nestjs/core/nest-application-context.d.ts","../node_modules/@nestjs/core/nest-application.d.ts","../node_modules/@nestjs/common/interfaces/microservices/nest-microservice-options.interface.d.ts","../node_modules/@nestjs/core/nest-factory.d.ts","../node_modules/@nestjs/core/repl/repl.d.ts","../node_modules/@nestjs/core/repl/index.d.ts","../node_modules/@nestjs/core/router/interfaces/routes.interface.d.ts","../node_modules/@nestjs/core/router/interfaces/index.d.ts","../node_modules/@nestjs/core/router/request/request-constants.d.ts","../node_modules/@nestjs/core/router/request/index.d.ts","../node_modules/@nestjs/core/router/router-module.d.ts","../node_modules/@nestjs/core/router/index.d.ts","../node_modules/@nestjs/core/services/reflector.service.d.ts","../node_modules/@nestjs/core/services/index.d.ts","../node_modules/@nestjs/core/index.d.ts","../src/auth/role.decorator.ts","../node_modules/@types/mime/index.d.ts","../node_modules/@types/send/index.d.ts","../node_modules/@types/qs/index.d.ts","../node_modules/@types/range-parser/index.d.ts","../node_modules/@types/express-serve-static-core/index.d.ts","../node_modules/@types/http-errors/index.d.ts","../node_modules/@types/serve-static/index.d.ts","../node_modules/@types/connect/index.d.ts","../node_modules/@types/body-parser/index.d.ts","../node_modules/@types/express/index.d.ts","../src/auth/admin/interface/customadminreq.ts","../node_modules/@types/jsonwebtoken/index.d.ts","../node_modules/@nestjs/jwt/dist/interfaces/jwt-module-options.interface.d.ts","../node_modules/@nestjs/jwt/dist/interfaces/index.d.ts","../node_modules/@nestjs/jwt/dist/jwt.errors.d.ts","../node_modules/@nestjs/jwt/dist/jwt.module.d.ts","../node_modules/@nestjs/jwt/dist/jwt.service.d.ts","../node_modules/@nestjs/jwt/dist/index.d.ts","../node_modules/@nestjs/jwt/index.d.ts","../node_modules/@types/bcrypt/index.d.ts","../src/auth/encryption/encryption.service.ts","../src/auth/admin/dto/login-admin.dto.ts","../node_modules/dotenv/lib/main.d.ts","../src/constants/jwt.constants.ts","../src/auth/admin/dto/admin-signin-res.dto.ts","../src/shared/dto/payload-jwt.dto.ts","../src/auth/user/dto/update-pwd.dto.ts","../src/auth/admin/dto/admin-reset-password.dto.ts","../src/auth/admin/authadmin.service.ts","../src/auth/admin/authadmin.guard.ts","../src/admin/admin.controller.ts","../src/admin/admin.module.ts","../src/constants/db.constants.ts","../src/auth/admin/dto/get-reset-code.dto.ts","../node_modules/@nestjs-modules/mailer/dist/interfaces/template-adapter.interface.d.ts","../node_modules/@nestjs-modules/mailer/dist/interfaces/mailer-options.interface.d.ts","../node_modules/@nestjs-modules/mailer/dist/interfaces/mailer-options-factory.interface.d.ts","../node_modules/@nestjs-modules/mailer/dist/interfaces/mailer-async-options.interface.d.ts","../node_modules/@nestjs-modules/mailer/dist/mailer.module.d.ts","../node_modules/@nestjs-modules/mailer/dist/constants/mailer.constant.d.ts","../node_modules/@nestjs-modules/mailer/dist/interfaces/send-mail-options.interface.d.ts","../node_modules/@nestjs-modules/mailer/dist/interfaces/mailer-transport-factory.interface.d.ts","../node_modules/@nestjs-modules/mailer/dist/mailer.service.d.ts","../node_modules/@nestjs-modules/mailer/dist/index.d.ts","../node_modules/@nestjs-modules/mailer/index.d.ts","../src/email/email.service.ts","../src/auth/admin/authadmincontroller.ts","../src/auth/admin/authadmin.module.ts","../src/user/dto/create-user.dto.ts","../src/category/dto/create-category.dto.ts","../src/category/dto/create-category-req.dto.ts","../src/category/category.service.ts","../src/user/dto/update-user.dto.ts","../src/user/dto/user-response.ts","../src/constants/server.contants.ts","../src/user/user.service.ts","../src/user/dto/update-preferedcategories.dto.ts","../src/auth/user/interface/customuserreq.ts","../src/auth/user/dto/user-signin-res.dto.ts","../src/auth/user/dto/login-user.dto.ts","../src/auth/user/dto/user-reset-password.dto.ts","../src/auth/user/authuserservice.ts","../src/auth/user/authuser.guard.ts","../node_modules/@nestjs/platform-express/interfaces/nest-express-body-parser-options.interface.d.ts","../node_modules/@nestjs/platform-express/interfaces/nest-express-body-parser.interface.d.ts","../node_modules/@nestjs/platform-express/interfaces/serve-static-options.interface.d.ts","../node_modules/@nestjs/platform-express/adapters/express-adapter.d.ts","../node_modules/@nestjs/platform-express/adapters/index.d.ts","../node_modules/@nestjs/platform-express/interfaces/nest-express-application.interface.d.ts","../node_modules/@nestjs/platform-express/interfaces/index.d.ts","../node_modules/@nestjs/platform-express/multer/interfaces/multer-options.interface.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/any-files.interceptor.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/file-fields.interceptor.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/file.interceptor.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/files.interceptor.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/no-files.interceptor.d.ts","../node_modules/@nestjs/platform-express/multer/interceptors/index.d.ts","../node_modules/@nestjs/platform-express/multer/interfaces/files-upload-module.interface.d.ts","../node_modules/@nestjs/platform-express/multer/interfaces/index.d.ts","../node_modules/@nestjs/platform-express/multer/multer.module.d.ts","../node_modules/@nestjs/platform-express/multer/index.d.ts","../node_modules/@nestjs/platform-express/index.d.ts","../node_modules/@types/multer/index.d.ts","../node_modules/uuid/dist/cjs/max.d.ts","../node_modules/uuid/dist/cjs/nil.d.ts","../node_modules/uuid/dist/cjs/parse.d.ts","../node_modules/uuid/dist/cjs/stringify.d.ts","../node_modules/uuid/dist/cjs/_types.d.ts","../node_modules/uuid/dist/cjs/v1.d.ts","../node_modules/uuid/dist/cjs/v1tov6.d.ts","../node_modules/uuid/dist/cjs/v35.d.ts","../node_modules/uuid/dist/cjs/v3.d.ts","../node_modules/uuid/dist/cjs/v4.d.ts","../node_modules/uuid/dist/cjs/v5.d.ts","../node_modules/uuid/dist/cjs/v6.d.ts","../node_modules/uuid/dist/cjs/v6tov1.d.ts","../node_modules/uuid/dist/cjs/v7.d.ts","../node_modules/uuid/dist/cjs/validate.d.ts","../node_modules/uuid/dist/cjs/version.d.ts","../node_modules/uuid/dist/cjs/index.d.ts","../src/shared/interceptors/file-save.interceptor.ts","../src/user/user.controller.ts","../src/user/user.module.ts","../src/auth/user/dto/get-reset-code.dto.ts","../src/auth/user/authusercontroller.ts","../src/auth/user/authuser.module.ts","../src/state/dto/create-state.dto.ts","../src/state/dto/state-res.dto.ts","../src/state/state.service.ts","../src/state/state.controller.ts","../src/state/state.module.ts","../src/database-seeder/states.json","../src/town/dto/create-town.dto.ts","../src/town/entities/town-traduction.entity.ts","../src/town/dto/create-town-trad.dto.ts","../src/town/dto/town-res.dto.ts","../src/town/dto/update-town.dto.ts","../src/town/town.service.ts","../src/database-seeder/database-seeder.service.ts","../src/pointofinterest/dto/create-pointandtraduction.dto.ts","../src/pointofinterest/entities/pointofinteresttraduction.entity.ts","../src/pointofinterest/dto/create-point.dto.ts","../node_modules/class-transformer/types/interfaces/decorator-options/expose-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/exclude-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/transform-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/type-discriminator-descriptor.interface.d.ts","../node_modules/class-transformer/types/interfaces/decorator-options/type-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/exclude-metadata.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/expose-metadata.interface.d.ts","../node_modules/class-transformer/types/enums/transformation-type.enum.d.ts","../node_modules/class-transformer/types/enums/index.d.ts","../node_modules/class-transformer/types/interfaces/target-map.interface.d.ts","../node_modules/class-transformer/types/interfaces/class-transformer-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/transform-fn-params.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/transform-metadata.interface.d.ts","../node_modules/class-transformer/types/interfaces/metadata/type-metadata.interface.d.ts","../node_modules/class-transformer/types/interfaces/class-constructor.type.d.ts","../node_modules/class-transformer/types/interfaces/type-help-options.interface.d.ts","../node_modules/class-transformer/types/interfaces/index.d.ts","../node_modules/class-transformer/types/classtransformer.d.ts","../node_modules/class-transformer/types/decorators/exclude.decorator.d.ts","../node_modules/class-transformer/types/decorators/expose.decorator.d.ts","../node_modules/class-transformer/types/decorators/transform-instance-to-instance.decorator.d.ts","../node_modules/class-transformer/types/decorators/transform-instance-to-plain.decorator.d.ts","../node_modules/class-transformer/types/decorators/transform-plain-to-instance.decorator.d.ts","../node_modules/class-transformer/types/decorators/transform.decorator.d.ts","../node_modules/class-transformer/types/decorators/type.decorator.d.ts","../node_modules/class-transformer/types/decorators/index.d.ts","../node_modules/class-transformer/types/index.d.ts","../node_modules/class-validator/types/validation/validationerror.d.ts","../node_modules/class-validator/types/validation/validatoroptions.d.ts","../node_modules/class-validator/types/validation-schema/validationschema.d.ts","../node_modules/class-validator/types/container.d.ts","../node_modules/class-validator/types/validation/validationarguments.d.ts","../node_modules/class-validator/types/decorator/validationoptions.d.ts","../node_modules/class-validator/types/decorator/common/allow.d.ts","../node_modules/class-validator/types/decorator/common/isdefined.d.ts","../node_modules/class-validator/types/decorator/common/isoptional.d.ts","../node_modules/class-validator/types/decorator/common/validate.d.ts","../node_modules/class-validator/types/validation/validatorconstraintinterface.d.ts","../node_modules/class-validator/types/decorator/common/validateby.d.ts","../node_modules/class-validator/types/decorator/common/validateif.d.ts","../node_modules/class-validator/types/decorator/common/validatenested.d.ts","../node_modules/class-validator/types/decorator/common/validatepromise.d.ts","../node_modules/class-validator/types/decorator/common/islatlong.d.ts","../node_modules/class-validator/types/decorator/common/islatitude.d.ts","../node_modules/class-validator/types/decorator/common/islongitude.d.ts","../node_modules/class-validator/types/decorator/common/equals.d.ts","../node_modules/class-validator/types/decorator/common/notequals.d.ts","../node_modules/class-validator/types/decorator/common/isempty.d.ts","../node_modules/class-validator/types/decorator/common/isnotempty.d.ts","../node_modules/class-validator/types/decorator/common/isin.d.ts","../node_modules/class-validator/types/decorator/common/isnotin.d.ts","../node_modules/class-validator/types/decorator/number/isdivisibleby.d.ts","../node_modules/class-validator/types/decorator/number/ispositive.d.ts","../node_modules/class-validator/types/decorator/number/isnegative.d.ts","../node_modules/class-validator/types/decorator/number/max.d.ts","../node_modules/class-validator/types/decorator/number/min.d.ts","../node_modules/class-validator/types/decorator/date/mindate.d.ts","../node_modules/class-validator/types/decorator/date/maxdate.d.ts","../node_modules/class-validator/types/decorator/string/contains.d.ts","../node_modules/class-validator/types/decorator/string/notcontains.d.ts","../node_modules/@types/validator/lib/isboolean.d.ts","../node_modules/@types/validator/lib/isemail.d.ts","../node_modules/@types/validator/lib/isfqdn.d.ts","../node_modules/@types/validator/lib/isiban.d.ts","../node_modules/@types/validator/lib/isiso31661alpha2.d.ts","../node_modules/@types/validator/lib/isiso4217.d.ts","../node_modules/@types/validator/lib/isiso6391.d.ts","../node_modules/@types/validator/lib/istaxid.d.ts","../node_modules/@types/validator/lib/isurl.d.ts","../node_modules/@types/validator/index.d.ts","../node_modules/class-validator/types/decorator/string/isalpha.d.ts","../node_modules/class-validator/types/decorator/string/isalphanumeric.d.ts","../node_modules/class-validator/types/decorator/string/isdecimal.d.ts","../node_modules/class-validator/types/decorator/string/isascii.d.ts","../node_modules/class-validator/types/decorator/string/isbase64.d.ts","../node_modules/class-validator/types/decorator/string/isbytelength.d.ts","../node_modules/class-validator/types/decorator/string/iscreditcard.d.ts","../node_modules/class-validator/types/decorator/string/iscurrency.d.ts","../node_modules/class-validator/types/decorator/string/isemail.d.ts","../node_modules/class-validator/types/decorator/string/isfqdn.d.ts","../node_modules/class-validator/types/decorator/string/isfullwidth.d.ts","../node_modules/class-validator/types/decorator/string/ishalfwidth.d.ts","../node_modules/class-validator/types/decorator/string/isvariablewidth.d.ts","../node_modules/class-validator/types/decorator/string/ishexcolor.d.ts","../node_modules/class-validator/types/decorator/string/ishexadecimal.d.ts","../node_modules/class-validator/types/decorator/string/ismacaddress.d.ts","../node_modules/class-validator/types/decorator/string/isip.d.ts","../node_modules/class-validator/types/decorator/string/isport.d.ts","../node_modules/class-validator/types/decorator/string/isisbn.d.ts","../node_modules/class-validator/types/decorator/string/isisin.d.ts","../node_modules/class-validator/types/decorator/string/isiso8601.d.ts","../node_modules/class-validator/types/decorator/string/isjson.d.ts","../node_modules/class-validator/types/decorator/string/isjwt.d.ts","../node_modules/class-validator/types/decorator/string/islowercase.d.ts","../node_modules/class-validator/types/decorator/string/ismobilephone.d.ts","../node_modules/class-validator/types/decorator/string/isiso31661alpha2.d.ts","../node_modules/class-validator/types/decorator/string/isiso31661alpha3.d.ts","../node_modules/class-validator/types/decorator/string/ismongoid.d.ts","../node_modules/class-validator/types/decorator/string/ismultibyte.d.ts","../node_modules/class-validator/types/decorator/string/issurrogatepair.d.ts","../node_modules/class-validator/types/decorator/string/isurl.d.ts","../node_modules/class-validator/types/decorator/string/isuuid.d.ts","../node_modules/class-validator/types/decorator/string/isfirebasepushid.d.ts","../node_modules/class-validator/types/decorator/string/isuppercase.d.ts","../node_modules/class-validator/types/decorator/string/length.d.ts","../node_modules/class-validator/types/decorator/string/maxlength.d.ts","../node_modules/class-validator/types/decorator/string/minlength.d.ts","../node_modules/class-validator/types/decorator/string/matches.d.ts","../node_modules/libphonenumber-js/types.d.cts","../node_modules/libphonenumber-js/max/index.d.cts","../node_modules/class-validator/types/decorator/string/isphonenumber.d.ts","../node_modules/class-validator/types/decorator/string/ismilitarytime.d.ts","../node_modules/class-validator/types/decorator/string/ishash.d.ts","../node_modules/class-validator/types/decorator/string/isissn.d.ts","../node_modules/class-validator/types/decorator/string/isdatestring.d.ts","../node_modules/class-validator/types/decorator/string/isbooleanstring.d.ts","../node_modules/class-validator/types/decorator/string/isnumberstring.d.ts","../node_modules/class-validator/types/decorator/string/isbase32.d.ts","../node_modules/class-validator/types/decorator/string/isbic.d.ts","../node_modules/class-validator/types/decorator/string/isbtcaddress.d.ts","../node_modules/class-validator/types/decorator/string/isdatauri.d.ts","../node_modules/class-validator/types/decorator/string/isean.d.ts","../node_modules/class-validator/types/decorator/string/isethereumaddress.d.ts","../node_modules/class-validator/types/decorator/string/ishsl.d.ts","../node_modules/class-validator/types/decorator/string/isiban.d.ts","../node_modules/class-validator/types/decorator/string/isidentitycard.d.ts","../node_modules/class-validator/types/decorator/string/isisrc.d.ts","../node_modules/class-validator/types/decorator/string/islocale.d.ts","../node_modules/class-validator/types/decorator/string/ismagneturi.d.ts","../node_modules/class-validator/types/decorator/string/ismimetype.d.ts","../node_modules/class-validator/types/decorator/string/isoctal.d.ts","../node_modules/class-validator/types/decorator/string/ispassportnumber.d.ts","../node_modules/class-validator/types/decorator/string/ispostalcode.d.ts","../node_modules/class-validator/types/decorator/string/isrfc3339.d.ts","../node_modules/class-validator/types/decorator/string/isrgbcolor.d.ts","../node_modules/class-validator/types/decorator/string/issemver.d.ts","../node_modules/class-validator/types/decorator/string/isstrongpassword.d.ts","../node_modules/class-validator/types/decorator/string/istimezone.d.ts","../node_modules/class-validator/types/decorator/string/isbase58.d.ts","../node_modules/class-validator/types/decorator/string/is-tax-id.d.ts","../node_modules/class-validator/types/decorator/string/is-iso4217-currency-code.d.ts","../node_modules/class-validator/types/decorator/typechecker/isboolean.d.ts","../node_modules/class-validator/types/decorator/typechecker/isdate.d.ts","../node_modules/class-validator/types/decorator/typechecker/isnumber.d.ts","../node_modules/class-validator/types/decorator/typechecker/isenum.d.ts","../node_modules/class-validator/types/decorator/typechecker/isint.d.ts","../node_modules/class-validator/types/decorator/typechecker/isstring.d.ts","../node_modules/class-validator/types/decorator/typechecker/isarray.d.ts","../node_modules/class-validator/types/decorator/typechecker/isobject.d.ts","../node_modules/class-validator/types/decorator/array/arraycontains.d.ts","../node_modules/class-validator/types/decorator/array/arraynotcontains.d.ts","../node_modules/class-validator/types/decorator/array/arraynotempty.d.ts","../node_modules/class-validator/types/decorator/array/arrayminsize.d.ts","../node_modules/class-validator/types/decorator/array/arraymaxsize.d.ts","../node_modules/class-validator/types/decorator/array/arrayunique.d.ts","../node_modules/class-validator/types/decorator/object/isnotemptyobject.d.ts","../node_modules/class-validator/types/decorator/object/isinstance.d.ts","../node_modules/class-validator/types/decorator/decorators.d.ts","../node_modules/class-validator/types/validation/validationtypes.d.ts","../node_modules/class-validator/types/validation/validator.d.ts","../node_modules/class-validator/types/register-decorator.d.ts","../node_modules/class-validator/types/metadata/validationmetadataargs.d.ts","../node_modules/class-validator/types/metadata/validationmetadata.d.ts","../node_modules/class-validator/types/metadata/constraintmetadata.d.ts","../node_modules/class-validator/types/metadata/metadatastorage.d.ts","../node_modules/class-validator/types/index.d.ts","../src/place/dto/create-place-date.dto.ts","../src/place/dto/create-place.dto.ts","../src/place/dto/create-date.dto.ts","../src/place/dto/get-place.dto.ts","../src/place/dto/update-place.req.dto.ts","../src/place/utils/isplaceopen.ts","../src/place/place.service.ts","../src/pointofinterest/dto/create-pointtrad.dto.ts","../src/pointofinterest/dto/getpoint.dto.ts","../node_modules/@types/qrcode/index.d.ts","../src/pointofinterest/utils/qrcode.ts","../node_modules/typed-query-selector/parser.d.ts","../node_modules/devtools-protocol/types/protocol.d.ts","../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../node_modules/chromium-bidi/lib/cjs/protocol/generated/webdriver-bidi.d.ts","../node_modules/chromium-bidi/lib/cjs/protocol/cdp.d.ts","../node_modules/chromium-bidi/lib/cjs/protocol/generated/webdriver-bidi-permissions.d.ts","../node_modules/chromium-bidi/lib/cjs/protocol/chromium-bidi.d.ts","../node_modules/chromium-bidi/lib/cjs/protocol/errorresponse.d.ts","../node_modules/chromium-bidi/lib/cjs/protocol/protocol.d.ts","../node_modules/puppeteer/lib/types.d.ts","../src/pointofinterest/dto/printpointinfo.dto.ts","../node_modules/axios/index.d.ts","../src/constants/google.constants.ts","../src/pointofinterest/pointofinterest.service.ts","../src/database-seeder/database-seeder.module.ts","../node_modules/@nestjs/serve-static/dist/interfaces/serve-static-options.interface.d.ts","../node_modules/@nestjs/serve-static/dist/loaders/abstract.loader.d.ts","../node_modules/@nestjs/serve-static/dist/loaders/express.loader.d.ts","../node_modules/@nestjs/serve-static/dist/loaders/fastify.loader.d.ts","../node_modules/@nestjs/serve-static/dist/loaders/noop.loader.d.ts","../node_modules/@nestjs/serve-static/dist/serve-static.constants.d.ts","../node_modules/@nestjs/serve-static/dist/serve-static.module.d.ts","../node_modules/@nestjs/serve-static/dist/serve-static.providers.d.ts","../node_modules/@nestjs/serve-static/dist/index.d.ts","../node_modules/@nestjs/serve-static/index.d.ts","../src/shared/pipe/file-validation.pipe.ts","../src/town/dto/createtownreq.dto.ts","../src/town/town.controller.ts","../src/town/town.module.ts","../src/place/place.controller.ts","../src/place/place.module.ts","../src/pointofinterest/pointofinterest.controller.ts","../src/pointofinterest/pointofinterest.module.ts","../src/category/category.controller.ts","../src/category/category.module.ts","../src/travel-place/entities/travel-place.entity.ts","../src/route/entities/route.entity.ts","../src/travel-place/dto/create-travel-place.dto.ts","../src/travel-place/travel-place.service.ts","../src/route/dto/recommend-route.dto.ts","../src/route/utils/math.ts","../src/route/utils/sort.ts","../src/route/utils/recommendations.ts","../src/visited/dto/create-visited.dto.ts","../node_modules/@types/ejs/index.d.ts","../src/visited/templates/visit_template.ts","../src/visited/utils/visited_places_image_creator.ts","../src/visited/visited.service.ts","../src/route/dto/create-route.dto.ts","../src/route/dto/create-route-req.ts","../src/route/route.service.ts","../src/route/dto/updateroutestatus.dto.ts","../src/route/route.controller.ts","../src/visited/visited.controller.ts","../src/visited/visited.module.ts","../src/route/route.module.ts","../src/travel-place/travel-place.controller.ts","../src/travel-place/travel-place.module.ts","../src/constants/mail.constants.ts","../src/app.module.ts","../src/main.ts","../node_modules/@nestjs/mapped-types/dist/mapped-type.interface.d.ts","../node_modules/@nestjs/mapped-types/dist/types/remove-fields-with-type.type.d.ts","../node_modules/@nestjs/mapped-types/dist/intersection-type.helper.d.ts","../node_modules/@nestjs/mapped-types/dist/omit-type.helper.d.ts","../node_modules/@nestjs/mapped-types/dist/partial-type.helper.d.ts","../node_modules/@nestjs/mapped-types/dist/pick-type.helper.d.ts","../node_modules/@nestjs/mapped-types/dist/type-helpers.utils.d.ts","../node_modules/@nestjs/mapped-types/dist/index.d.ts","../node_modules/@nestjs/mapped-types/index.d.ts","../src/admin/dto/update-admin.dto.ts","../src/category/dto/update-category.dto.ts","../src/place/dto/create-place-trad.dto.ts","../src/pointofinterest/dto/update-point.dto.ts","../src/route/dto/update-route.dto.ts","../src/travel-place/dto/update-travel-place.dto.ts","../src/visited/dto/update-visited.dto.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/caseless/index.d.ts","../node_modules/@types/cookiejar/index.d.ts","../node_modules/@types/eslint/helpers.d.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/eslint/index.d.ts","../node_modules/@types/eslint-scope/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../node_modules/@types/long/index.d.ts","../node_modules/@types/methods/index.d.ts","../node_modules/@types/mjml-core/index.d.ts","../node_modules/@types/mjml/index.d.ts","../node_modules/@types/pug/index.d.ts","../node_modules/@types/request/node_modules/form-data/index.d.ts","../node_modules/@types/tough-cookie/index.d.ts","../node_modules/@types/request/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/superagent/lib/agent-base.d.ts","../node_modules/@types/superagent/lib/node/response.d.ts","../node_modules/@types/superagent/types.d.ts","../node_modules/@types/superagent/lib/node/agent.d.ts","../node_modules/@types/superagent/lib/request-base.d.ts","../node_modules/@types/superagent/lib/node/http2wrapper.d.ts","../node_modules/@types/superagent/lib/node/index.d.ts","../node_modules/@types/superagent/index.d.ts","../node_modules/@types/supertest/types.d.ts","../node_modules/@types/supertest/lib/agent.d.ts","../node_modules/@types/supertest/lib/test.d.ts","../node_modules/@types/supertest/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts","../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569",{"version":"87d693a4920d794a73384b3c779cadcb8548ac6945aa7a925832fe2418c9527a","affectsGlobalScope":true},{"version":"76f838d5d49b65de83bc345c04aa54c62a3cfdb72a477dc0c0fce89a30596c30","affectsGlobalScope":true},{"version":"73e370058f82add1fdbc78ef3d1aab110108f2d5d9c857cb55d3361982347ace","affectsGlobalScope":true},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"4a66df3ab5de5cfcda11538cffddd67ff6a174e003788e270914c1e0248483cf",{"version":"8d6d51a5118d000ed3bfe6e1dd1335bebfff3fef23cd2af2f84a24d30f90cc90","affectsGlobalScope":true},"6d8dedbec739bc79642c1e96e9bfc0b83b25b104a0486aebf016fc7b85b39f48","e89535c3ec439608bcd0f68af555d0e5ddf121c54abe69343549718bd7506b9c","622a984b60c294ffb2f9152cf1d4d12e91d2b733d820eec949cf54d63a3c1025","81aae92abdeaccd9c1723cef39232c90c1aed9d9cf199e6e2a523b7d8e058a11","a63a6c6806a1e519688ef7bd8ca57be912fc0764485119dbd923021eb4e79665","75b57b109d774acca1e151df21cf5cb54c7a1df33a273f0457b9aee4ebd36fb9","ecf5cb089ea438f2545e04b6c52828c68d0b0f4bfaa661986faf36da273e9892","95444fb6292d5e2f7050d7021383b719c0252bf5f88854973977db9e3e3d8006","241bd4add06f06f0699dcd58f3b334718d85e3045d9e9d4fa556f11f4d1569c1","06540a9f3f2f88375ada0b89712de1c4310f7398d821c4c10ab5c6477dafb4bc",{"version":"de2d3120ed0989dbc776de71e6c0e8a6b4bf1935760cf468ff9d0e9986ef4c09","affectsGlobalScope":true},"b8bff8a60af0173430b18d9c3e5c443eaa3c515617210c0c7b3d2e1743c19ecb","97bdf234f5db52085d99c6842db560bca133f8a0413ff76bf830f5f38f088ce3","a76ebdf2579e68e4cfe618269c47e5a12a4e045c2805ed7f7ab37af8daa6b091","b493ff8a5175cbbb4e6e8bcfa9506c08f5a7318b2278365cfca3b397c9710ebc","e59d36b7b6e8ba2dd36d032a5f5c279d2460968c8b4e691ca384f118fb09b52a","e96885c0684c9042ec72a9a43ef977f6b4b4a2728f4b9e737edcbaa0c74e5bf6","303ee143a869e8f605e7b1d12be6c7269d4cab90d230caba792495be595d4f56","89e061244da3fc21b7330f4bd32f47c1813dd4d7f1dc3d0883d88943f035b993","e46558c2e04d06207b080138678020448e7fc201f3d69c2601b0d1456105f29a","71549375db52b1163411dba383b5f4618bdf35dc57fa327a1c7d135cf9bf67d1","7e6b2d61d6215a4e82ea75bc31a80ebb8ad0c2b37a60c10c70dd671e8d9d6d5d","78bea05df2896083cca28ed75784dde46d4b194984e8fc559123b56873580a23","5dd04ced37b7ea09f29d277db11f160df7fd73ba8b9dba86cb25552e0653a637","f74b81712e06605677ae1f061600201c425430151f95b5ef4d04387ad7617e6a","9a72847fcf4ac937e352d40810f7b7aec7422d9178451148296cf1aa19467620","3ae18f60e0b96fa1e025059b7d25b3247ba4dcb5f4372f6d6e67ce2adac74eac","2b9260f44a2e071450ae82c110f5dc8f330c9e5c3e85567ed97248330f2bf639","4f196e13684186bda6f5115fc4677a87cf84a0c9c4fc17b8f51e0984f3697b6d","61419f2c5822b28c1ea483258437c1faab87d00c6f84481aa22afb3380d8e9a4","64479aee03812264e421c0bf5104a953ca7b02740ba80090aead1330d0effe91","a5eb4835ab561c140ffc4634bb039387d5d0cceebb86918f1696c7ac156d26fd","c5570e504be103e255d80c60b56c367bf45d502ca52ee35c55dec882f6563b5c","4252b852dd791305da39f6e1242694c2e560d5e46f9bb26e2aca77252057c026","0520b5093712c10c6ef23b5fea2f833bf5481771977112500045e5ea7e8e2b69","5c3cf26654cf762ac4d7fd7b83f09acfe08eef88d2d6983b9a5a423cb4004ca3","e60fa19cf7911c1623b891155d7eb6b7e844e9afdf5738e3b46f3b687730a2bd","b1fd72ff2bb0ba91bb588f3e5329f8fc884eb859794f1c4657a2bfa122ae54d0","6cf42a4f3cfec648545925d43afaa8bb364ac10a839ffed88249da109361b275","ba13c7d46a560f3d4df8ffb1110e2bbec5801449af3b1240a718514b5576156e","6df52b70d7f7702202f672541a5f4a424d478ee5be51a9d37b8ccbe1dbf3c0f2","0ca7f997e9a4d8985e842b7c882e521b6f63233c4086e9fe79dd7a9dc4742b5e","91046b5c6b55d3b194c81fd4df52f687736fad3095e9d103ead92bb64dc160ee","db5704fdad56c74dfc5941283c1182ed471bd17598209d3ac4a49faa72e43cfc","758e8e89559b02b81bc0f8fd395b17ad5aff75490c862cbe369bb1a3d1577c40","2ee64342c077b1868f1834c063f575063051edd6e2964257d34aad032d6b657c","6f6b4b3d670b6a5f0e24ea001c1b3d36453c539195e875687950a178f1730fa7","05c4e2a992bb83066a3a648bad1c310cecd4d0628d7e19545bb107ac9596103a","b48b83a86dd9cfe36f8776b3ff52fcd45b0e043c0538dc4a4b149ba45fe367b9","792de5c062444bd2ee0413fb766e57e03cce7cdaebbfc52fc0c7c8e95069c96b","a79e3e81094c7a04a885bad9b049c519aace53300fb8a0fe4f26727cb5a746ce","dd6c3362aaaec60be028b4ba292806da8e7020eef7255c7414ce4a5c3a7138ef","8a4e89564d8ea66ad87ee3762e07540f9f0656a62043c910d819b4746fc429c5","b9011d99942889a0f95e120d06b698c628b0b6fdc3e6b7ecb459b97ed7d5bcc6","4d639cbbcc2f8f9ce6d55d5d503830d6c2556251df332dc5255d75af53c8a0e7","cdb48277f600ab5f429ecf1c5ea046683bc6b9f73f3deab9a100adac4b34969c","75be84956a29040a1afbe864c0a7a369dfdb739380072484eff153905ef867ee","b06b4adc2ae03331a92abd1b19af8eb91ec2bf8541747ee355887a167d53145e","3114b315cd0687aad8b57cff36f9c8c51f5b1bc6254f1b1e8446ae583d8e2474","0d417c15c5c635384d5f1819cc253a540fe786cc3fda32f6a2ae266671506a21","af733cb878419f3012f0d4df36f918a69ba38d73f3232ba1ab46ef9ede6cb29c","cb59317243a11379a101eb2f27b9df1022674c3df1df0727360a0a3f963f523b","0a01b0b5a9e87d04737084731212106add30f63ec640169f1462ba2e44b6b3a8","06b8a7d46195b6b3980e523ef59746702fd210b71681a83a5cf73799623621f9","860e4405959f646c101b8005a191298b2381af8f33716dc5f42097e4620608f8","f7e32adf714b8f25d3c1783473abec3f2e82d5724538d8dcf6f51baaaff1ca7a","e07d62a8a9a3bb65433a62e9bbf400c6bfd2df4de60652af4d738303ee3670a1","bfbf80f9cd4558af2d7b2006065340aaaced15947d590045253ded50aabb9bc5","851e8d57d6dd17c71e9fa0319abd20ab2feb3fb674d0801611a09b7a25fd281c","c3bd2b94e4298f81743d92945b80e9b56c1cdfb2bef43c149b7106a2491b1fc9","a246cce57f558f9ebaffd55c1e5673da44ea603b4da3b2b47eb88915d30a9181","d993eacc103c5a065227153c9aae8acea3a4322fe1a169ee7c70b77015bf0bb2","fc2b03d0c042aa1627406e753a26a1eaad01b3c496510a78016822ef8d456bb6","063c7ebbe756f0155a8b453f410ca6b76ffa1bbc1048735bcaf9c7c81a1ce35f","748e79252a7f476f8f28923612d7696b214e270cc909bc685afefaac8f052af0","9669075ac38ce36b638b290ba468233980d9f38bdc62f0519213b2fd3e2552ec","4d123de012c24e2f373925100be73d50517ac490f9ed3578ac82d0168bfbd303","656c9af789629aa36b39092bee3757034009620439d9a39912f587538033ce28","3ac3f4bdb8c0905d4c3035d6f7fb20118c21e8a17bee46d3735195b0c2a9f39f","1f453e6798ed29c86f703e9b41662640d4f2e61337007f27ac1c616f20093f69","af43b7871ff21c62bf1a54ec5c488e31a8d3408d5b51ff2e9f8581b6c55f2fc7","70550511d25cbb0b6a64dcac7fffc3c1397fd4cbeb6b23ccc7f9b794ab8a6954","af0fbf08386603a62f2a78c42d998c90353b1f1d22e05a384545f7accf881e0a","c3f32a185cd27ac232d3428a8d9b362c3f7b4892a58adaaa022828a7dcd13eed","3139c3e5e09251feec7a87f457084bee383717f3626a7f1459d053db2f34eb76","4888fd2bcfee9a0ce89d0df860d233e0cee8ee9c479b6bd5a5d5f9aae98342fe","3be870c8e17ec14f1c18fc248f5d2c4669e576404744ff5c63e6dafcf05b97ea","56654d2c5923598384e71cb808fac2818ca3f07dd23bb018988a39d5e64f268b","8b6719d3b9e65863da5390cb26994602c10a315aa16e7d70778a63fee6c4c079","6ab380571d87bd1d6f644fb6ab7837239d54b59f07dc84347b1341f866194214","547d3c406a21b30e2b78629ecc0b2ddaf652d9e0bdb2d59ceebce5612906df33","b3a4f9385279443c3a5568ec914a9492b59a723386161fd5ef0619d9f8982f97","3fe66aba4fbe0c3ba196a4f9ed2a776fe99dc4d1567a558fb11693e9fcc4e6ed","140eef237c7db06fc5adcb5df434ee21e81ee3a6fd57e1a75b8b3750aa2df2d8","0944ec553e4744efae790c68807a461720cff9f3977d4911ac0d918a17c9dd99","7c9ed7ffdc6f843ab69e5b2a3e7f667b050dd8d24d0052db81e35480f6d4e15d","7c7d9e116fe51100ff766703e6b5e4424f51ad8977fe474ddd8d0959aa6de257","af70a2567e586be0083df3938b6a6792e6821363d8ef559ad8d721a33a5bcdaf","006cff3a8bcb92d77953f49a94cd7d5272fef4ab488b9052ef82b6a1260d870b","7d44bfdc8ee5e9af70738ff652c622ae3ad81815e63ab49bdc593d34cb3a68e5","339814517abd4dbc7b5f013dfd3b5e37ef0ea914a8bbe65413ecffd668792bc6","34d5bc0a6958967ec237c99f980155b5145b76e6eb927c9ffc57d8680326b5d8","9eae79b70c9d8288032cbe1b21d0941f6bd4f315e14786b2c1d10bccc634e897","18ce015ed308ea469b13b17f99ce53bbb97975855b2a09b86c052eefa4aa013a","5a931bc4106194e474be141e0bc1046629510dc95b9a0e4b02a3783847222965","5e5f371bf23d5ced2212a5ff56675aefbd0c9b3f4d4fdda1b6123ac6e28f058c","907c17ad5a05eecb29b42b36cc8fec6437be27cc4986bb3a218e4f74f606911c","3656f0584d5a7ee0d0f2cc2b9cffbb43af92e80186b2ce160ebd4421d1506655","a726ad2d0a98bfffbe8bc1cd2d90b6d831638c0adc750ce73103a471eb9a891c","f44c0c8ce58d3dacac016607a1a90e5342d830ea84c48d2e571408087ae55894","75a315a098e630e734d9bc932d9841b64b30f7a349a20cf4717bf93044eff113","9131d95e32b3d4611d4046a613e022637348f6cebfe68230d4e81b691e4761a1","b03aa292cfdcd4edc3af00a7dbd71136dd067ec70a7536b655b82f4dd444e857","90f690a1c5fcb4c2d19c80fea05c8ab590d8f6534c4c296d70af6293ede67366","be95e987818530082c43909be722a838315a0fc5deb6043de0a76f5221cbad24","9ed5b799c50467b0c9f81ddf544b6bcda3e34d92076d6cab183c84511e45c39f","b4fa87cc1833839e51c49f20de71230e259c15b2c9c3e89e4814acc1d1ef10de","e90ac9e4ac0326faa1bc39f37af38ace0f9d4a655cd6d147713c653139cf4928","ea27110249d12e072956473a86fd1965df8e1be985f3b686b4e277afefdde584","1f6058d60eaa8825f59d4b76bbf6cc0e6ad9770948be58de68587b0931da00cc","5666075052877fe2fdddd5b16de03168076cf0f03fbca5c1d4a3b8f43cba570c","50100b1a91f61d81ca3329a98e64b7f05cddc5e3cb26b3411adc137c9c631aca","11aceaee5663b4ed597544567d6e6a5a94b66857d7ebd62a9875ea061018cd2c","6e30d0b5a1441d831d19fe02300ab3d83726abd5141cbcc0e2993fa0efd33db4","423f28126b2fc8d8d6fa558035309000a1297ed24473c595b7dec52e5c7ebae5","fb30734f82083d4790775dae393cd004924ebcbfde49849d9430bf0f0229dd16","2c92b04a7a4a1cd9501e1be338bf435738964130fb2ad5bd6c339ee41224ac4c","c5c5f0157b41833180419dacfbd2bcce78fb1a51c136bd4bcba5249864d8b9b5","669b754ec246dd7471e19b655b73bda6c2ca5bb7ccb1a4dff44a9ae45b6a716a","4bb6035e906946163ecfaec982389d0247ceeac6bdee7f1d07c03d9c224db3aa","8a44b424edee7bb17dc35a558cc15f92555f14a0441205613e0e50452ab3a602","24a00d0f98b799e6f628373249ece352b328089c3383b5606214357e9107e7d5","33637e3bc64edd2075d4071c55d60b32bdb0d243652977c66c964021b6fc8066","0f0ad9f14dedfdca37260931fac1edf0f6b951c629e84027255512f06a6ebc4c","16ad86c48bf950f5a480dc812b64225ca4a071827d3d18ffc5ec1ae176399e36","8cbf55a11ff59fd2b8e39a4aa08e25c5ddce46e3af0ed71fb51610607a13c505","d5bc4544938741f5daf8f3a339bfbf0d880da9e89e79f44a6383aaf056fe0159","c82857a876075e665bbcc78213abfe9e9b0206d502379576d7abd481ade3a569","4f71d883ed6f398ba8fe11fcd003b44bb5f220f840b3eac3c395ad91304e4620","5229c3934f58413f34f1b26c01323c93a5a65a2d9f2a565f216590dfbed1fe32","9fd7466b77020847dbc9d2165829796bf7ea00895b2520ff3752ffdcff53564b","fbfc12d54a4488c2eb166ed63bab0fb34413e97069af273210cf39da5280c8d6","85a84240002b7cf577cec637167f0383409d086e3c4443852ca248fc6e16711e","4c754b03f36ff35fc539f9ebb5f024adbb73ec2d3e4bfb35b385a05abb36a50e","59507446213e73654d6979f3b82dadc4efb0ed177425ae052d96a3f5a5be0d35","a914be97ca7a5be670d1545fc0691ac3fbabd023d7d084b338f6934349798a1f","8f62cbd3afbd6a07bb8c934294b6bfbe437021b89e53a4da7de2648ecfc7af25","62c3621d34fb2567c17a2c4b89914ebefbfbd1b1b875b070391a7d4f722e55dc","c05ac811542e0b59cb9c2e8f60e983461f0b0e39cea93e320fad447ff8e474f3","8e7a5b8f867b99cc8763c0b024068fb58e09f7da2c4810c12833e1ca6eb11c4f","132351cbd8437a463757d3510258d0fa98fd3ebef336f56d6f359cf3e177a3ce","df877050b04c29b9f8409aa10278d586825f511f0841d1ec41b6554f8362092b","33d1888c3c27d3180b7fd20bac84e97ecad94b49830d5dd306f9e770213027d1","ee942c58036a0de88505ffd7c129f86125b783888288c2389330168677d6347f","a3f317d500c30ea56d41501632cdcc376dae6d24770563a5e59c039e1c2a08ec","eb21ddc3a8136a12e69176531197def71dc28ffaf357b74d4bf83407bd845991","0c1651a159995dfa784c57b4ea9944f16bdf8d924ed2d8b3db5c25d25749a343","aaa13958e03409d72e179b5d7f6ec5c6cc666b7be14773ae7b6b5ee4921e52db","0a86e049843ad02977a94bb9cdfec287a6c5a0a4b6b5391a6648b1a122072c5a","87437ca9dabab3a41d483441696ff9220a19e713f58e0b6a99f1731af10776d7","26c5dfa9aa4e6428f4bb7d14cbf72917ace69f738fa92480b9749eebce933370","8e94328e7ca1a7a517d1aa3c569eac0f6a44f67473f6e22c2c4aff5f9f4a9b38","d604d413aff031f4bfbdae1560e54ebf503d374464d76d50a2c6ded4df525712","299f0af797897d77685d606502be72846b3d1f0dc6a2d8c964e9ea3ccbacf5bc","12bfd290936824373edda13f48a4094adee93239b9a73432db603127881a300d","340ceb3ea308f8e98264988a663640e567c553b8d6dc7d5e43a8f3b64f780374","c5a769564e530fba3ec696d0a5cff1709b9095a0bdf5b0826d940d2fc9786413","7124ef724c3fc833a17896f2d994c368230a8d4b235baed39aa8037db31de54f","5de1c0759a76e7710f76899dcae601386424eab11fb2efaf190f2b0f09c3d3d3","9c5ee8f7e581f045b6be979f062a61bf076d362bf89c7f966b993a23424e8b0d","1a11df987948a86aa1ec4867907c59bdf431f13ed2270444bf47f788a5c7f92d","3c97b5ea66276cf463525a6aa9d5bb086bf5e05beac70a0597cda2575503b57b","b756781cd40d465da57d1fc6a442c34ae61fe8c802d752aace24f6a43fedacee","0fe76167c87289ea094e01616dcbab795c11b56bad23e1ef8aba9aa37e93432a","3a45029dba46b1f091e8dc4d784e7be970e209cd7d4ff02bd15270a98a9ba24b","032c1581f921f8874cf42966f27fd04afcabbb7878fa708a8251cac5415a2a06","69c68ed9652842ce4b8e495d63d2cd425862104c9fb7661f72e7aa8a9ef836f8","a31383256374723b47d8b5497a9558bbbcf95bcecfb586a36caf7bfd3693eb0e","06f62a14599a68bcde148d1efd60c2e52e8fa540cc7dcfa4477af132bb3de271","64aa66c7458cbfd0f48f88070b08c2f66ae94aba099dac981f17c2322d147c06","11f19ce32d21222419cecab448fa335017ebebf4f9e5457c4fa9df42fa2dcca7","2e8ee2cbb5e9159764e2189cf5547aebd0e6b0d9a64d479397bb051cd1991744","1b0471d75f5adb7f545c1a97c02a0f825851b95fe6e069ac6ecaa461b8bb321d","1d157c31a02b1e5cca9bc495b3d8d39f4b42b409da79f863fb953fbe3c7d4884","07baaceaec03d88a4b78cb0651b25f1ae0322ac1aa0b555ae3749a79a41cba86","619a132f634b4ebe5b4b4179ea5870f62f2cb09916a25957bff17b408de8b56d","f60fa446a397eb1aead9c4e568faf2df8068b4d0306ebc075fb4be16ed26b741","f3cb784be4d9e91f966a0b5052a098d9b53b0af0d341f690585b0cc05c6ca412","350f63439f8fe2e06c97368ddc7fb6d6c676d54f59520966f7dbbe6a4586014e","eba613b9b357ac8c50a925fa31dc7e65ff3b95a07efbaa684b624f143d8d34ba","9814545517193cf51127d7fbdc3b7335688206ec04ee3a46bba2ee036bd0dcac","0f6199602df09bdb12b95b5434f5d7474b1490d2cd8cc036364ab3ba6fd24263","c8ca7fd9ec7a3ec82185bfc8213e4a7f63ae748fd6fced931741d23ef4ea3c0f","5c6a8a3c2a8d059f0592d4eab59b062210a1c871117968b10797dee36d991ef7","ad77fd25ece8e09247040826a777dc181f974d28257c9cd5acb4921b51967bd8","795a08ae4e193f345073b49f68826ab6a9b280400b440906e4ec5c237ae777e6","8153df63cf65122809db17128e5918f59d6bb43a371b5218f4430c4585f64085","a8150bc382dd12ce58e00764d2366e1d59a590288ee3123af8a4a2cb4ef7f9df","5adfaf2f9f33957264ad199a186456a4676b2724ed700fc313ff945d03372169","d5c41a741cd408c34cb91f84468f70e9bda3dfeabf33251a61039b3cdb8b22d8","c91d3f9753a311284e76cdcb348cbb50bca98733336ec726b54d77b7361b34de","cbaf4a4aa8a8c02aa681c5870d5c69127974de29b7e01df570edec391a417959","c7135e329a18b0e712378d5c7bc2faec6f5ab0e955ea0002250f9e232af8b3e4","340a45cd77b41d8a6deda248167fa23d3dc67ec798d411bd282f7b3d555b1695","fae330f86bc10db6841b310f32367aaa6f553036a3afc426e0389ddc5566cd74","cf25d45c02d5fd5d7adb16230a0e1d6715441eef5c0a79a21bfeaa9bbc058939","54c3822eaf6436f2eddc92dd6e410750465aba218adbf8ce5d488d773919ec01","99d99a765426accf8133737843fb024a154dc6545fc0ffbba968a7c0b848959d","c782c5fd5fa5491c827ecade05c3af3351201dd1c7e77e06711c8029b7a9ee4d","883d2104e448bb351c49dd9689a7e8117b480b614b2622732655cef03021bf6d","d9b00ee2eca9b149663fdba1c1956331841ae296ee03eaaff6c5becbc0ff1ea8","09a7e04beb0547c43270b327c067c85a4e2154372417390731dfe092c4350998","eee530aaa93e9ec362e3941ee8355e2d073c7b21d88c2af4713e3d701dab8fef","b5ef97d6974dc1246197361e661027adb2625a8544bb406d5ad1daae0fe47a22","8b8b92781a6bf150f9ee83f3d8ee278b6cdb98b8308c7ab3413684fc5d9078ef","7a0e4cd92545ad03910fd019ae9838718643bd4dde39881c745f236914901dfa","c99ebd20316217e349004ee1a0bc74d32d041fb6864093f10f31984c737b8cad","6f622e7f054f5ab86258362ac0a64a2d6a27f1e88732d6f5f052f422e08a70e7","d62d2ef93ceeb41cf9dfab25989a1e5f9ca5160741aac7f1453c69a6c14c69be","1491e80d72873fc586605283f2d9056ee59b166333a769e64378240df130d1c9","c32c073d389cfaa3b3e562423e16c2e6d26b8edebbb7d73ccffff4aa66f2171d","eca72bf229eecadb63e758613c62fab13815879053539a22477d83a48a21cd73","633db46fd1765736409a4767bfc670861468dde60dbb9a501fba4c1b72f8644d","689390db63cb282e6d0e5ce9b8f1ec2ec0912d0e2e6dac7235699a15ad17d339","f2ee748883723aa9325e5d7f30fce424f6a786706e1b91a5a55237c78ee89c4a","d928324d17146fce30b99a28d1d6b48648feac72bbd23641d3ce5ac34aefdfee","142f5190d730259339be1433931c0eb31ae7c7806f4e325f8a470bd9221b6533","c33a88f2578e8df2fdf36c6a0482bbee615eb3234c8f084ba31a9a96bd306b7f","22cca068109eb0e6b4f8acc3fe638d1e6ac277e2044246438763319792b546a1","8776e64e6165838ac152fa949456732755b0976d1867ae5534ce248f0ccd7f41","66cd33c4151ea27f6e17c6071652eadde9da1b3637dae65fd060212211c695ce","5c4c5b49bbb01828402bb04af1d71673b18852c11b7e95bfd5cf4c3d80d352c8","efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"7fd7fcbf021a5845bdd9397d4649fcf2fe17152d2098140fc723099a215d19ad","affectsGlobalScope":true},"df3389f71a71a38bc931aaf1ef97a65fada98f0a27f19dd12f8b8de2b0f4e461","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb",{"version":"a1d2988ad9d2aef7b9915a22b5e52c165c83a878f2851c35621409046bbe3c05","affectsGlobalScope":true},"bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"674168aa3db414ea0a19b2a31d901b2d49705c7a495e43ffdc96928543010f8c","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","afb1701fd4be413a8a5a88df6befdd4510c30a31372c07a4138facf61594c66d","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"c07146dbbbd8b347241b5df250a51e48f2d7bef19b1e187b1a3f20c849988ff1","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","9a9634296cca836c3308923ba7aa094fa6ed76bb1e366d8ddcf5c65888ab1024",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","4b55240c2a03b2c71e98a7fc528b16136faa762211c92e781a01c37821915ea6","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"94c086dff8dbc5998749326bc69b520e8e4273fb5b7b58b50e0210e0885dfcde","affectsGlobalScope":true},{"version":"f5b5dc128973498b75f52b1b8c2d5f8629869104899733ae485100c2309b4c12","affectsGlobalScope":true},"ebe5facd12fd7745cda5f4bc3319f91fb29dc1f96e57e9c6f8b260a7cc5b67ee","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","37dc027f781c75f0f546e329cfac7cf92a6b289f42458f47a9adc25e516b6839",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","b1879b3db28afe9ba769e84058e7d544c55322e69f34b928df96ec50f17a051d","a96bc00e0c356e29e620eaec24a56d6dd7f4e304feefcc99066a1141c6fe05a7","d12cc0e5b09943c4cd0848f787eb9d07bf78b60798e4588c50582db9d4decc70","53b094f1afe442490555eeeb0384fc1ceb487560c83e31f9c64fb934c2dccd94","19c3760af3cbc9da99d5b7763b9e33aaf8d018bc2ed843287b7ff4343adf4634","9d1e38aeb76084848d2fcd39b458ec88246de028c0f3f448b304b15d764b23d2","d406da1eccf18cec56fd29730c24af69758fe3ff49c4f94335e797119cbc0554","4898c93890a136da9156c75acd1a80a941a961b3032a0cf14e1fa09a764448b7","f5d7a845e3e1c6c27351ea5f358073d0b0681537a2da6201fab254aa434121d3","9ddf8e9069327faa75d20135cab675779844f66590249769c3d35dd2a38c2ba9","d7c30f0abfe9e197e376b016086cf66b2ffb84015139963f37301ed0da9d3d0d","ff75bba0148f07775bcb54bf4823421ed4ebdb751b3bf79cc003bd22e49d7d73","d40d20ac633703a7333770bfd60360126fc3302d5392d237bbb76e8c529a4f95","35a9867207c488061fb4f6fe4715802fbc164b4400018d2fa0149ad02db9a61c","91bf47a209ad0eae090023c3ebc1165a491cf9758799368ffcbee8dbe7448f33","0abe2cd72812bbfc509975860277c7cd6f6e0be95d765a9da77fee98264a7e32","13286c0c8524606b17a8d68650970bab896fb505f348f71601abf0f2296e8913","fc2a131847515b3dff2f0e835633d9a00a9d03ed59e690e27eec85b7b0522f92","90433c678bc26751eb7a5d54a2bb0a14be6f5717f69abb5f7a04afc75dce15a4","cd0565ace87a2d7802bf4c20ea23a997c54e598b9eb89f9c75e69478c1f7a0b4","738020d2c8fc9df92d5dee4b682d35a776eaedfe2166d12bc8f186e1ea57cc52","86dd7c5657a0b0bc6bee8002edcfd544458d3d3c60974555746eb9b2583dc35e","d97b96b6ecd4ee03f9f1170722c825ef778430a6a0d7aab03b8929012bf773cd","f61963dc02ef27c48fb0e0016a413b1e00bcb8b97a3f5d4473cedc7b44c8dc77","272dbfe04cfa965d6fff63fdaba415c1b5a515b1881ae265148f8a84ddeb318f","2035fb009b5fafa9a4f4e3b3fdb06d9225b89f2cbbf17a5b62413bf72cea721a","e7f68ad89f943f167d40e045423f035beed4f91d4ceeec02381289211af1c644","72636f59b635c378dc9ea5246b9b3517b1214e340e468e54cb80126353053b2e","ebb79f267a3bf2de5f8edc1995c5d31777b539935fab8b7d863e8efb06c8e9ea","ada033e6a4c7f4e147e6d76bb881069dc66750619f8cc2472d65beeec1100145","52ff5e1ea35c54428b46c75fd14f87b7a7158a8f4a1ecfc4a9b996a03185c738","605d29d619180fbec287d1701e8b1f51f2d16747ec308d20aba3e9a0dac43a0f","67c19848b442d77c767414084fc571ce118b08301c4ddff904889d318f3a3363","c704ff0e0cb86d1b791767a88af21dadfee259180720a14c12baee668d0eb8fb","195c50e15d5b3ea034e01fbdca6f8ad4b35ad47463805bb0360bdffd6fce3009","da665f00b6877ae4adb39cd548257f487a76e3d99e006a702a4f38b4b39431cb","2b82adc9eead34b824a3f4dad315203fbfa56bee0061ccf9b485820606564f70","79cfed5eb33a189e2a590d4b4bb53ec0edd0624779d51126caae6395620a717d","d7a4309673b06223537bc9544b1a5fe9425628e1c8ab5605f3c5ebc27ecb8074","a1ca31e02359442c3e254204445cded3a4712e8830663a0fe06f894b8982ab7c","3eadfd083d40777b403f4f4eecfa40f93876f2a01779157cc114b2565a7afb51","cb6789ce3eba018d5a7996ccbf50e27541d850e9b4ee97fdcb3cbd8c5093691f","a3684ea9719122f9477902acd08cd363a6f3cff6d493df89d4dc12fa58204e27","2828dabf17a6507d39ebcc58fef847e111dcf2d51b8e4ff0d32732c72be032b3","c0c46113b4cd5ec9e7cf56e6dbfb3930ef6cbba914c0883eeced396988ae8320","118ea3f4e7b9c12e92551be0766706f57a411b4f18a1b4762cfde3cd6d4f0a96","33395c26f51d1663fda112972df743324d1054fe2a932c85a8bd59d1c771c33e","6305acbe492b9882ec940f8f0c8e5d1e1395258852f99328efcb1cf1683ca817","7619b1f6087a4e9336b2c42bd784b05aa4a2204a364b60171e5a628f817a381e","15be9120572c9fbcd3c267bd93b4140354514c9e70734e6fcca65ff4a246f83a","412482ab85893cec1d6f26231359474d1f59f6339e2743c08da1b05fc1d12767","858e2315e58af0d28fcd7f141a2505aba6a76fd10378ba0ad169b0336fee33fc","02da6c1b34f4ae2120d70cf5f9268bf1aedf62e55529d34f5974f5a93655ce38","3ecf179ef1cc28f7f9b46c8d2e496d50b542c176e94ed0147bab147b4a961cd6","b145da03ce7e174af5ced2cbbd16e96d3d5c2212f9a90d3657b63a5650a73b7f","c7aadab66a2bc90eeb0ab145ca4daebcbc038e24359263de3b40e7b1c7affba6","99518dc06286877a7b716e0f22c1a72d3c62be42701324b49f27bcc03573efff","f4575fd196a7e33c7be9773a71bcc5fbe7182a2152be909f6b8e8e7ba2438f06","05cba5acd77a4384389b9c62739104b5a1693efd66e6abac6c5ffc53280ae777","acacda82ebd929fe2fe9e31a37f193fc8498a7393a1c31dc5ceb656e2b45b708","1b13e7c5c58ab894fe65b099b6d19bb8afae6d04252db1bf55fe6ba95a0af954","4355d326c3129e5853b56267903f294ad03e34cc28b75f96b80734882dedac80","37139a8d45342c05b6a5aa1698a2e8e882d6dca5fb9a77aa91f05ac04e92e70b","e37191297f1234d3ae54edbf174489f9a3091a05fe959724db36f8e58d21fb17","3fca8fb3aab1bc7abb9b1420f517e9012fdddcbe18803bea2dd48fad6c45e92e","d0b0779e0cac4809a9a3c764ba3bd68314de758765a8e3b9291fe1671bfeb8a1","d2116b5f989aa68e585ae261b9d6d836be6ed1be0b55b47336d9f3db34674e86","d79a227dd654be16d8006eac8b67212679d1df494dfe6da22ea0bd34a13e010c","b9c89b4a2435c171e0a9a56668f510a376cb7991eaecef08b619e6d484841735","e2efbe9ad735950e0536a93120106219a25f45ba0ab7984d58497b5c9d19330e","6a79b61f57699de0a381c8a13f4c4bcd120556bfab0b4576994b6917cb62948b","c5133d7bdec65f465df12f0b507fbc0d96c78bfa5a012b0eb322cf1ff654e733","00b9ff040025f6b00e0f4ac8305fea1809975b325af31541bd9d69fa3b5e57b1","9f96b9fd0362a7bfe6a3aa70baa883c47ae167469c904782c99ccc942f62f0dc","27dad95a76606bfd8f5c36b7c05bf49dd2e66bdbe03dba745426734f82346ae6","89049878a456b5e0870bb50289ea8ece28a2abd0255301a261fa8ab6a3e9a07d","55ae9554811525f24818e19bdc8779fa99df434be7c03e5fc47fa441315f0226","24abac81e9c60089a126704e936192b2309413b40a53d9da68dadd1dd107684e","f13310c360ecffddb3858dcb33a7619665369d465f55e7386c31d45dfc3847bf","e7bde95a05a0564ee1450bc9a53797b0ac7944bf24d87d6f645baca3aa60df48","62e68ce120914431a7d34232d3eca643a7ddd67584387936a5202ae1c4dd9a1b","4e49cb98e2c4e546dd90fb6a867ef88978dea05502df92cb252078cdd407cd1d","e1cb8168c7e0bd4857a66558fe7fe6c66d08432a0a943c51bacdac83773d5745","a464510505f31a356e9833963d89ce39f37a098715fc2863e533255af4410525","ebbe6765a836bfa7f03181bc433c8984ca29626270ca1e240c009851222cb8a7","ac10457b51ee4a3173b7165c87c795eadd094e024f1d9f0b6f0c131126e3d903","468df9d24a6e2bc6b4351417e3b5b4c2ca08264d6d5045fe18eb42e7996e58b4","954523d1f4856180cbf79b35bd754e14d3b2aea06c7efd71b254c745976086e9","a8af4739274959d70f7da4bfdd64f71cfc08d825c2d5d3561bc7baed760b33ef","3e1e58eff1981ef808ead362d1586c132b309247cd14e3929fbd36d9ca80d3fe","cc32874a27100c32e3706d347eb4f435d6dd5c0d83e547c157352f977bbc6385","e45b069d58c9ac341d371b8bc3db4fa7351b9eee1731bffd651cfc1eb622f844","7f3c74caad25bfb6dfbf78c6fe194efcf8f79d1703d785fc05cd606fe0270525","54f3f7ff36384ca5c9e1627118b43df3014b7e0f62c9722619d19cdb7e43d608","2f346f1233bae487f1f9a11025fc73a1bf9093ee47980a9f4a75b84ea0bb7021","e04c5673b82d68376f57dea0e4a4fbacf6f1692c9382fb12b5fb2e93ce174c12","2350e4399e456a61e4340254b71fba87b02b76a403a502c649912865a249f14d","2579b150b86b5f644d86a6d58f17e3b801772c78866c34d41f86f3fc9eb523fe","0353e05b0d8475c10ddd88056e0483b191aa5cdea00a25e0505b96e023f1a2d9","d60d0eeebe3a5a7489e57b9d00d43868281014b0d8b180e29e2f664f1bfe873b","22a35275abc67f8aba44efc52b2f4b1abc2c94e183d36647fdab5a5e7c1bdf23","99193bafaa9ce112889698de25c4b8c80b1209bb7402189aea1c7ada708a8a54","70473538c6eb9494d53bf1539fe69df68d87c348743d8f7244dcb02ca3619484","c48932ab06a4e7531bdca7b0f739ace5fa273f9a1b9009bcd26902f8c0b851f0","df6c83e574308f6540c19e3409370482a7d8f448d56c65790b4ac0ab6f6fedd8","32f19b665839b1382b21afc41917cda47a56e744cd3df9986b13a72746d1c522","8db1ed144dd2304b9bd6e41211e22bad5f4ab1d8006e6ac127b29599f4b36083","843a5e3737f2abbbbd43bf2014b70f1c69a80530814a27ae1f8be213ae9ec222","6fc1be224ad6b3f3ec11535820def2d21636a47205c2c9de32238ba1ac8d82e6","5a44788293f9165116c9c183be66cefef0dc5d718782a04847de53bf664f3cc1","afd653ae63ce07075b018ba5ce8f4e977b6055c81cc65998410b904b94003c0a","9172155acfeb17b9d75f65b84f36cb3eb0ff3cd763db3f0d1ad5f6d10d55662f","71807b208e5f15feffb3ff530bec5b46b1217af0d8cc96dde00d549353bcb864","1a6eca5c2bc446481046c01a54553c3ffb856f81607a074f9f0256c59dd0ab13","5421e0a46677dc1341e18fc803e2a7a16263edb5cd884f80dd252a541880a78c","3e5acc690e0232bb0a4ef8eb45faee0570151710a4354b4918b0c4f735f47402","2e2bc02af7b535d267be8cecbc5831466dd71c5af294401821791b26cb363c47","986affe0f60331f20df7d708ee097056b0973d85422ec2ce754af19c1fa4e4b1","8f06c2807459f1958b297f4ad09c6612d7dbd7997c9ccfc6ea384f7538e0cea8","a7de30cd043d7299bfe9daaca3732b086e734341587c3e923b01f3fd74d31126","78f7fad319e4ac305ffe8e03027423279b53a8af4db305096aa75d446b1ec7af","3bf58923a1d27819745bdad52bca1bdced9fef12cc0c7f8a3fd5f4e0206b684a","8fc11f102df58f03d36fcbf0da3efa37c177f5f18f534c76179ceef0c3a672cd","e6935ab0f64a886e778c12a54ed6e9075ce7e7f44723ff0d52020a654b025a09","9829af7653a29f1b85d3dd688a6c6256087c0b737b85d84b630e7f93fd420faf","3d9d985d41e536fcf79fc95082925c2f1ae5ade75814ad2bd70c0944747f7ac4","1ca20b41e94ad03bb6f8f83df06e48163596341bff5f00af561057ca1f940557","b0e6f1b1569779cf567317c2265d67460d1d3b4de4e79126533109d87dc16d50","18cb8be1326ffa4158abd8d84c9b0a189c0f52201f12f7af2d2af830c077f2bf","b08fc2b6ccd4d3db42af01b3c6390fc1e30dc1d95496d9a8ee5f9319c2e4883f","0de68916e23c1e3df800f9f61cdd7c506ceb0656fcbc245ee9974aad26786781","80c538ee6a62249e77ba3de07efb23d4a7ca8946499c065261bf5079f1cd3cf0","ad4277862bdcbe1cf5c1e0d43b39770e1ccc033da92f5b9ff75ca8c3a03a569b","46a86c47400a564df04a1604fcac41cb599ebbada392527a1462c9dfe4713d78","f342dcb96ad26855757929a9f6632704b7013f65786573d4fdcd4da09f475923","dcd467dc444953a537502d9e140d4f2dc13010664d4216cc8e6977b3c5c3efa3","ca476924dfa6120b807a14e0a8aea7b061b8bdaa7eecdb303d7957c769102e96","848fe622fac070f8af9255e5d63fe829e3da079cae30be48fb6deb5dbf2c27c6","f3bb275073b5db8931c042d347fdce888775436a4774836221af57fdccec32ff","03cb8cb2f8ef002a5cac9b8c9a0c02e5fd09de128b9769c5b920a6cbfc080087","3e5ebc3a6a938a03a361f4cdb9a26c9f5a1bac82b46273e11d5d37cd8eccc918","a0a7800e71c504c21f3051a29f0f6f948f0b8296c9ebffeb67033822aabf92e0","6a219f12b3e853398d51192736707e320699a355052687bad4729784649ff519","4294a84634c56529e67301a3258448019e41c101de6b9646ea41c0ecdc70df92","80fc027e10234b809a9a40086114a8154657dcb8478d58c85ef850592d352870","27f24ba43083d406b372e9eff72dbc378afa0503dac1c1dd32499cc92fc9cb22","12594611a054ca7fe69962f690a4e79922d563b4b434716eb855d63a9d11a78f","1440eca2d8bc47ebdbc5a901b369de1b7b39c3297e5b4ac9631899f49ea9740b","fc9897fbada879bda954603ea204c6e5df913262a90ad848b5efaab182b58033","93443b2da120bea58eb48bd7da86559d4cf868dc2d581eebf9b48b51ba1e8894","182f9553b74cf62425ef64d82075bf16452cc7096450aca1aa6a1e863594a45d","c2956026078814be6dc01515213aeb1eb816e81715085952bbc97b7c81fe3f6d","ac3a69c529ab256532825b08902aec65d0d88c66963e39ae19a3d214953aedc5","fe29108f3ddf7030c3d573c5226ebe03213170b3beca5200ca7cb33755184017","04d5bfb0a0eecd66c0b3f522477bf69065a9703be8300fbea5566a0fc4a97b9d","d5e3e13faca961679bed01d80bc38b3336e7de598ebf9b03ec7d31081af735ad","de05a488fb501de32c1ec0af2a6ddfe0fdef46935b9f4ffb3922d355b15da674","9f00f2bc49f0c10275a52cb4f9e2991860d8b7b0922bfab6eafe14178377aa72","af1e2889c68a697192a0ecbda332193f022032018158f890ad403b6513e9ec17","0e7c3660d1df392b6f6ae7fa697f0629ae4404e5b7bac05dd81136247aff32d5","d110a9869e09144198be68ed9224e3f509d8409a01d578ff1c471f92b0b4c58c","c6688fd4c2a8a24c9b80da3660a7a06b93ed37d12d84f3ba4aa071ffc125e75f","20efc25890a0b2f09e4d224afaaf84917baa77b1aee60d9dfd11ff8078d73f93","d00b48096854d711cee688e7ff1ca796c1bf0d27ca509633c2a98b85cc23d47d","30f116226d0e53c6cbbdbc967479d5c8036935f771b2af51987c2e8d4cc7fc6a","8be98ffc3c54fb40b220796b796388f8ade50c8ba813a811bffccf98006566d5","4e82eed3c1b5084132708ce030f8ec90b69e4b7bb844dcaacd808045ae24c0e2","eae8c7cbcb175b997ce8e76cd6e770eca5dba07228f6cb4a44e1b0a11eb87685","b3ded8e50b3cdf548d7c8d3b3b5b2105932b04a2f08b392564f4bc499407e4e5","4ed2d8fb4c598719985b8fbef65f7de9c3f5ae6a233fc0fe20bd00193c490908","6da51da9b74383988b89e17298ceca510357f63830f78b40f72afe4d5a9cee3e","512a079a1a3de2492c80aa599e173b2ea8cc6afb2800e3e99f14330b34155fe1","d311d4b15960a105004ffa532ef3efe0e76cda1b10a041e700c13d2bc6670a3e","8e3842ba15690ab4b340893a4552a8c3670b8f347fbb835afe14be98891eef10","9e7817283b8b1ca62652bbc10475e2e89df05b8ddc6ff4a8e32d65d9f68622e7","15911b87a2ad4b65b30c445802d55fa6186c66068603113042e8c3dfa4a35e2a","a9dc7b8d06b1f69d219f61fa3f7ac621e6e3a8d5a430e800cd7d1a755cc058c3","f8c496656cb5fd737931b4d6c60bd72a97c48f37c07dcb74a593dd24ac3f684a","abcb5db28886eec7437cb341a42fec07580fb1fbc927d1bd4f0f22b558a7aa9a","0fa43815d4b05eafe97c056dae73c313f23a9f00b559f1e942d042c7a04db93c","35ce79d85f0b4acf5aaf28d3d6441f62d28a0a759f367ff037cd4982d419627a","a02db6aabaa291a85cf52b0c3f02a75301b80be856db63d44af4feea2179f37b","e1e94e41f47a4496566a9f40e815687a2eca1e7b7910b67704813cf61248b869","557ba6713b2a6fefd943399d5fb6c64e315dc461e9e05eaa6300fdbeeda5d0a1","94d594a0f3ce879202ea19c736e1da53b60d14bf6affac40c72c783afdd8d350","c1b5c480e4d38377c82f9f517c12014d3d4475c0e607c4845e0836e0e89bbf7d","1a014a8365354f37ea245349a4361d3b46589be7921fe7f1dbf408cc0f084bab","87fc4a324b9fa5c9b93a13b5ae1b55ea390929ec1b0450afebff9620921a9cc1","73c0b8df0e282e26a53820f53502847a043bd77a9cda78782207d5349842fba2","5bae6e8aeb6486bc8503767978e4960e25ce1ea16b7e89c1ea4eed1c3ab62788","9f6ae8334c1667b7b6423dd61305df8625a801b557c592a6d5edd928b4cfdd67","128ac72686b702c32c7383bff9fe49bbf605ab2efb5ddec4f0cf0d63db2ba1f1","d6db974317fd9ff66a923555464850dcf87976054a7adacf09d53323f64686d1","bc5b413c85caaefb4e449a131ce3941e966e059361e936fb5611dddaaeb3e244","7df6dfe294fd23c1ab8482ba7957cad3cf3419df2c64dda1f258ec87f80aea5a","9af4db510139f651fd9262340e29bc1bbd5441fc1f5518af82f3277804913402","9fb5226917009e53461dd0211acc975c720e45d9d610629efda0c1c0162501c4","a9417a980a4300048d179d0295e5b7dd76e4db7b566344779ee576cbd084b3c4","b96760c030c41fa078b35ea05fc3e7e4d2a81710a8329271d42b6abc110d5dbe","ef8ff23609cec5eb95e2beb98132ad90c0c5075415b50228b12f89ffaf981a4a","1154ed167b954ffb24a95ec3b11b1519a597024e7fda1df63c144962bc523aaf","174a3381f98fc78c451528cb1aa1baaa37a51852ec6fa90d42efd876301537c1","2c0de27d99a9331cfac8bc5c6bbd174e0593628bf3df268faa6c4188962a9549","1a17bcbc124a098987f7b1adbbcd412f8372ecb37e352b1c50165dac439eee5e","0ef49170735d9e5902f55b72465accadd0db93cae52544e3c469cbc8fbdbf654","f68a30e88dfa7d12d8dd4609bc9d5226a31d260bf3526de5554feed3f0bf0cb6","1fffef141820a0556f60aa6050eccb17dbcdc29ecd8a17ee4366573fd9c96ce3","d2598c755c11170e3b5f85cd0c237033e783fd4896070c06c35b2246879612b8","8d2044a28963c6c85a2cf4e334eb49bb6f3dd0c0dfe316233148a9be74510a0e","4c1f2da4e18122d57a16e4c6ea4b6fe60ea4f65b14e77cb20339f9158b27ca12","54a4f21be5428d7bff9240efb4e8cae3cb771cad37f46911978e013ff7289238","10837df0382365c2544fb75cb9a8f6e481e68c64915362941b4ea4468fd0ef61","cc4483c79688bd3f69c11cb3299a07d5dcf87646c35b869c77cde553c42893cf","faf76eeb5dd5d4d1e37c6eb875d114fa97297c2b50b10e25066fed09e325a77a","b741703daf465b44177ef31cc637bde5cd5345e6c048d5807108e6e868182b01","44a4a02bd0a615d155878467c802be82fff67d57aac1cb194fd961917f3f3dce","393446ab3f0dd3449ad6fd4c8abd0c82b711c514b9e8dfbf75222bbc48eb0cb6","d8acc6f92c85e784acbbc72036156a4c1168a18cba5390c7d363040479c39396","c9485b531de1df38a9b2bd3a7377230d2c9f3390a9fc4fd1d20ec8aab34cca49","5eb09226bfa1928721a438e37c004647fc19d8d1f4817bddcc350e57fb32935f","5994ed389d7fc28c03dad647ecb62e5349160bde443b0c7a54e0e10d6368bcbd","e1ff7df643e1aa1dbf1863113a913358844ed66f1af452e774834b0008e578b2","c5114285d0283d05e09cd959e605a4f76e5816c2fbe712241993fd66496083e5","2752e949c871f2cbd146efa21ebc34e4693c0ac8020401f90a45d4e150682181","c349cea980e28566998972522156daac849af8a9e4a9d59074845e319b975f5d","0370682454d1d243b75a7c7031bc8589531a472e927b67854c1b53b55ee496ea","cf6b4dbb5a1ac9ece24761c3a08682029851b292b67113a93b5e2bfd2e64e49d","e8d703a520b11601c65524eeb17e59af832d33e0fba582509b7e3fa8f249e58f","cb2fea712720bb7951d7e5d63db8670bf4a400d3e0fb197bceb6ef44efe36ec3","d1b5663356da50b06bf7a8c547dd30161d6435f8061678437c06efe2d1c3f66c","ef19d5fe42541f8b529bccd10f488d12caefa3b57a0deb1ed6143219cba716b4","84b5e6269d7cf53008a479eeb533ef09d025eafb4febe3729301b8d4daf37ff2","04196b5d9edd60b9648daa329c3355d7c95f33b7e520e7835eb21002174a8b8c","f9f6a3cd16546a9c55e6a1b225a85099a08bc402c6ce6b1aad1a317b49efef24","47475a87d513df64e050c93405a9687befa68b5c8a4b43edd52b6cebdc749a8b","c8eeffebe6c2c6800f73aa59d1436d4dadbad7f3ddda02a831ffa66114c3122d","caf3f141f93cbf527ad18ecce326311d70342fe1e16ce93e5ce8d6bcdf02bd48","4283d88023e6e9645626475e392565464eae99068f17e324cfc40a27d10fe94f","51e3b73dea24e2a9638345fb7a2a7ef5d3aa2e7a285ad6bd446b45fab826def1","546157e2534fc81242dab0ed3d69f77c82a18442a2bf0899bdafb328cc9ccd8c","c78bb1275f640e4902ad5c3383ab4f54f73322a59c95924ab671125ba9546294","1cb0838371e8213ce116a1497bb86bcf01a11a755b77587980ee7cfb2d625ece","34e1b459752a9fcf8f339bbf9bc2f082dacdfa675d89a9ce72fd6eb617268a51","aaa9ceabf257eac2fe5c67b6d32e677fba8a61ca48d1486166f5ab156b37a8b3","10b322f5bc001bec9bf08513c978c120adb0abe3c82793b11bdaf75873426c05","51b4efdc8dc92bc6ae2c44d4edad265decad70e8577d5653fc7f85200cbf6c6e","ab159dda8873292919fb0d498cafd4c922c2969928eced2b834062b4ffc2d7c7","b66b28291dac0aff981ddb40d3f25140a45f013ecc16cdec6ee78f90819868ee","3e855437e99a09e54d2813e8e0ddcc78caf14dc9709c35ac93cdc35f2b581abd","ba6ca3e14b2aca78e2de7de8465b09169a5508e102affc883b3e310f5aa917c3","76af77ac761b423dea92681a31eae768aafa5082e009c1fe62657db763d3419b","f5a59c67869cfd6c042667544be36997d9a4c4979754291e8a1b4f8b9ad0437a","6df6afb0424a7c7581ee98a9333d30e893b943d0a4709b88f18c252ddc3101b4","59c2cbf84c22fae87f4f506f36a7258a72b931b602115067dfd6008ee526f8c0","1e09cd1bc6b6baa0733e1e799c4533105ea79cbb109937c71e8c870e14693216","0b60cfcd94fa9bd9fa58176650c7e4c72f99b9d30a50d0b55aa08b510276af96","ba25681012e5117866a2456dd3557e24aa5a946ed641126aa4469880db526883","2b1e058a8c3944890c7ce7c712ecfd0f2645420ee67537ac031d7afe6feda6e0","175dbcd1f226eebd93fd9628e9180fb537bb1171489b33db7b388ef0f4e73b37","69ec6331ee3a7cd6bade5d5f683f1705c1041ff77432aa18c50d2097e61f93db","06f34a0f2151b619314fc8a54e4352a40fd5606bda50623c326c3be365cc1ef9","43daa6baa2e6d2ccc7872f315d2ae15fb2cf936cf4d1a1d351254e7a33e3a4cc","8be65adcb2bf744b5714dd7a5d1b90ca16959448a1f227a8ebb7c7b52046b214","6c3d3586d8fff56a9763c47133b4a9230480534471b38c7a2f688eac5d819164","3eb8198bb1b66458644e4537a14012d9361ba3eb1de4b7604cf5f25299f64b08","42852f35ebc5733c0f09eb4cb495ed78a1a12f9664eb7cf7ae877acd999d885c","70a3659d557bb683091f9d318762a330a3acb3954f5e89e5134d24c9272192f1","d9fe2c804f7db2f19e4323601278b748dc2984798f265c37cd37bb84e6c88ab8","3525647a73ae2124fa8f353f0a078b44ff1ee6f82958c2bb507de61575f12fff","d7238315cbd18ebeed93f41ad756a0ed9759824b9b158c3d7a1e0b71682d8966","eeba7376ce9721610d3282a4159f3c60154b7b3877fb251f7b3211b085cfdc18","54b0cc65b2e86cc59adf157b32b4fde2143ac2ed733f91a26f06c90d93ed9fe6","788c870cac6b39980a5cc41bf610b1873952ecdd339b781f0687d42682ffc5dc","d51a2e050c8a131b13ec9330a0869e5ac75b9ac4ebde52d5f474e819510b5263","3544b854dccadff219b992b2e5dadfbd7a8e0b9815d6d56006775a17e6500568","6c034655fa83236bd779cacfc1d5b469d6e2150a1993e66ecca92376a8b2c6a7","6bd6933efe9d6263d9f1a534a28a8f88b1e4c331b95d85d39350cf02eca8dce0","658cf468a05b2b591fcd5455a76d9927face59ac4a21b4965982b3c234f5d289","6bf893d1b824bde22ee5880c0c760c1dd0a5163c38d22311441a3341b6965d2d","18006f71012652a98486900031259844ab599473acd3ea89052d9276f27e7c0f","91ace195acdd088787d4a6275977bb4f134d62d4871ba8416e260919894823c5","28b415e70f9da0346545b7d2bcf361844a8e5778bd6b45bc1a2859f99700ff5b","a905f2f6785e3971bd97c42191394209d97f2aefb11841f7353dd9789821fa8c","e099c5ebddf80ae7285d380c7dd3b5d49c1347346ced51ae121b846833a8d102","aec91730b9f4d83758b4a45596317d34d6ecdbe9330a44629f53af47641b96ee","99e1bf731cce29cd110adc28a624392fa79abffbcda9a1917fa9b4bd3660f061","18a3be03c31356b60ea1090bcc905d99e4983ca911cc70b34ad0b9b4d4e050c3","738ddac5ab5b61d70d3466f3906d6b3c83c8786e922c6e726a6597296181ae87","90d202ace592f7b51b131a5890ec93e4df774c8677a485391c280cef0ea53f48","b34e1861949a545916696ef40f4a7fe71793661e72dd4db5e04cacc60ef23f7a","9833a67663f960dc2d1908a19365ddde55c0651235596ac60d7078a9be6f6e56","2bcb8920601b80911430979b6db4a58a7908a31334e74e4e22b75c65edce3587","c3186dc74d62d0fb6fba29841ccbf995614992526c37fac5c082d0f28b351e54","2306daed18f7f59542a99857a678ef818058eefa30c2a556af123a1cf53889cd","b41ed9285a09710807ce2c423e038dfe538e46e9183c0c05aadc27bfb9ae256a","56b9f9de03f28eb5922750a213d3f47b21a4f00a48c7c9b89bf1733623873d3a","2bdd736078e445858cb1d9df809ff3a2f00445d78664dd70b6794fb2156bdd53","ee95a2f43a60f3ea554792d507fa3c23351ab81e1abb081a88e7beb44ae6cbad","74ffa4541a56571f379060acaf9ab86da6c889dfe1f588425807e0117e62bba5","cf4dc15ca9dc6c0995dd2a9264e5ec37d09d9d551c85f395034e812abdf60a99","73e8b003f39c7ce46d2811749dab1dd1b309235fd5c277bd672c30a98b5cf90f","4cb49e79595c6413fcb01af55a8a574705bf385bd2ec5cf8b777778952e2914a","d6b44382b2670f38c8473e7c16b6e8a9bfa546b396b920afc4c53410eeb22abf","3b5c6f451b7ad87e3fcd2008d3a6cb69bd33803e541e9c0fe35754201389158f","8329556a2e85e3c3ff3dff43141790ff624b0f5138cedec5bb793164cf8b088f","4c889ce7e61ca7f3b7733e0d2be80b3af373e080c922e04639aa25f22963ae63","bf993f38479da270c1b2acdeb1a7903a9e88a190813c961a4d76186a344efaea","7232467057ec57666b884924f84fd21cd3a79cc826430c312e61a5bc5758f879","77c4c9f71f3736ed179043a72c4fad9832023855804fbe5261a956428b26a7a6","f5aa57712223d7438799be67b0c4a0e5ac3841f6397b5e692673944374f58a83","774c37f8faed74c238915868ccc36d0afedfbafb1d2329d6a230966457f57cbd","bc41b711477270e8d6f1110d57863284d084b089a22592c7c09df8d4cc3d1d20","ff405ec0cc453987823304b18b82dbe3e68e6f8bd2e56f5041c41effcc4ce717","228ed3721f42cc25bfebceef33754ce4766414d975ff71d012f01f141dbe3549","08985cdb65bbfe3c70d0037794a3d0f0a5613f55c278c77277a7acc17205db57","22bdefb6b2107006ab203073218566443a52ab65eb5e4e8e86c3d38efe776588","8041e2d425e0fcfd4af90fc1718bc4f2f9ac438000c0ecb1ec493844dec33c19","c86fea295c21ea01c93410eba2ec6e4f918b97d0c3bf9f1bb1960eabe417e7eb","05d41b3e7789381ff4d7f06d8739bf54cc8e75b835cb28f22e59c1d212e48ff3","6fbcfc270125b77808679b682663c7c6ad36518f5a528c5f7258bcd635096770","9d3bd4ee558de42e9d8434f7293b404c4b7a09b344e77c36bbe959696328d594","f63be9b46a22ee5894316cf71a4ba7581809dd98cf046109060a1214ee9e2977","dd3cc41b5764c9435b7cae3cc830be4ee6071f41a607188e43aa1edeba4fbb3e","b2dbb9485701a1d8250d9a35b74afd41b9a403c32484ed40ed195e8aa369ae70","5aa7565991c306061181bd0148c458bcce3472d912e2af6a98a0a54904cd84fc","9629e70ae80485928a562adb978890c53c7be47c3b3624dbb82641e1da48fd2f","c33d86e1d4753d035c4ea8d0fdb2377043bc894e4227be3ceabc8e6a5411ab2e","f9ec74382c95cbc85804daf0e9dabed56511a6dfb72f8a2868aa46a0b9b5eafc","be32c0a0576265a4dee467f328c5945805a832e6268d312ed768cae1f2666fa6","af9692ce3b9db8b94dcfbaa672cb6a87472f8c909b83b5aeea043d6e53e8b107","782f2628a998fd03f4ccbe9884da532b8c9be645077556e235149ca9e6bd8c7d","269b7db8b769d5677f8d5d219e74ea2390b72ea2c65676b307e172e8f605a74a","ae731d469fae328ba73d6928e4466b72e3966f92f14cd1a711f9a489c6f93839","90878ed33999d4ff8da72bd2ca3efb1cde76d81940767adc8c229a70eb9332b2","d7236656e70e3a7005dba52aa27b2c989ba676aff1cab0863795ac6185f8d54f","e327901e9f31d1ad13928a95d95604ee4917d72ad96092da65612879d89aba42","868914e3630910e58d4ad917f44b045d05303adc113931e4b197357f59c3e93e","7d59adb080be18e595f1ce421fc50facd0073672b8e67abac5665ba7376b29b9","275344839c4df9f991bcf5d99c98d61ef3ce3425421e63eeb4641f544cb76e25","c4f1cc0bd56665694e010a6096a1d31b689fa33a4dd2e3aa591c4e343dd5181c","81c3d9b4d90902aa6b3cbd22e4d956b6eb5c46c4ea2d42c8ff63201c3e9676da","5bfc3a4bd84a6f4b992b3d285193a8140c80bbb49d50a98c4f28ad14d10e0acc","a7cf6a2391061ca613649bc3497596f96c1e933f7b166fa9b6856022b68783ab","864c844c424536df0f6f745101d90d69dd14b36aa8bd6dde11268bb91e7de88e","c74a70a215bbd8b763610f195459193ab05c877b3654e74f6c8881848b9ddb7f","3fa94513af13055cd79ea0b70078521e4484e576f8973e0712db9aab2f5dd436","48ffc1a6b67d61110c44d786d520a0cba81bb89667c7cdc35d4157263bfb7175","7cb4007e1e7b6192af196dc1dacd29a0c3adc44df23190752bef6cbbc94b5e0b","3d409649b4e73004b7561219ce791874818239913cac47accc083fad58f4f985","051908114dee3ca6d0250aacb0a4a201e60f458085177d5eda1fc3cde2e570f3","3e8240b75f97eb4495679f6031fb02ad889a43017cae4b17d572324513559372","d82609394127fb33eed0b58e33f8a0f55b62b21c2b6c10f1d7348b4781e392cb","b0f8a6436fbaf3fb7b707e2551b3029650bfaeb51d4b98e089e9a104d5b559b5","eae0ac4f87d56dcf9fbcf9314540cc1447e7a206eee8371b44afa3e2911e520c","b585e7131070c77b28cc682f9b1be6710e5506c196a4b6b94c3028eb865de4a7","b92ac4cc40d551450a87f9154a8d088e31cff02c36e81db2976d9ff070ba9929","6f99b4a552fbdc6afd36d695201712901d9b3f009e340db8b8d1d3415f2776f5","43700e8832b12f82e6f519b56fae2695e93bb18dddb485ddea6583a0d1482992","e8165ea64af5de7f400d851aeea5703a3b8ac021c08bebc958859d341fa53387","6db546ea3ced87efda943e6016c2a748e150941a0704af013dfe535936e820e1","f521c4293b6d8f097e885be50c2fef97de3dd512ad26f978360bb70c766e7eae","a0666dfd499f319cc51a1e6d9722ed9c830b040801427bbdd2984b73f98d292a","a7d86611d7882643dd8c529d56d2e2b698afd3a13a5adc2d9e8157b57927c0da","7e4615c366c93399f288c7bfbaa00a1dc123578be9d8ac96b15d489efc3f4851","f2e6c87a2c322ee1473cb0bd776eb20ee7bff041bc56619e5d245134ab73e83d","ee89bc94431b2dfaf6a7e690f8d9a5473b9d61de4ddcb637217d11229fe5b69f","a19c1014936f60281156dd4798395ad4ab26b7578b5a6a062b344a3e924a4333","5608be84dd2ca55fc6d9b6da43f67194182f40af00291198b6487229403a98fe","4a800f1d740379122c473c18343058f4bd63c3dffdef4d0edba668caa9c75f54","8e6868a58ca21e92e09017440fdb42ebfe78361803be2c1e7f49883b7113fdc2","2fbb72a22faefa3c9ae0dfb2a7e83d7b3d82ec625a74a8800a9da973511b0672","3e8c1a811bad9e5cd313c3d90c39a99867befa746098cdad81a9578ac3392541","d88f78b4e272864f414d98e5ed0996cd09f7a3bb01c5b7528320386f7383153d","0b9c34da2c6f0170e6a357112b91f2351712c5a537b76e42adfee9a91308b122","47adac87ec85a52ed2562cb4a3b441383551727ed802e471aa05c12e7cc7e27e","d1cacf181763c5d0960986f6d0abd1a36fc58fc06a707c9f5060b6b5526179ca","92610d503212366ff87801c2b9dc2d1bccfa427f175261a5c11331bc3588bb3f","805e2737ce5d94d7da549ed51dfa2e27c2f06114b19573687e9bde355a20f0ff","77fece0e88132fb5383810d303de6152ea8f2ff1ed2cd4ac1abd69a7fc570cc5","a37b576e17cf09938090a0e7feaec52d5091a1d2bbd73d7335d350e5f0e8be95","98971aa63683469692fef990fcba8b7ba3bae3077de26ac4be3e1545d09874b8","c6d36fa611917b6177e9c103a2719a61421044fb81cdd0accd19eba08d1b54de","77081112c1ca3ad1670df79cdfd28a1f2fd6334a593623aaf7268c353798e5c3","5eb39c56462b29c90cb373676a9a9a179f348a8684b85990367b3bbc6be5a6e9","52252b11bcbfaeb4c04dc9ec92ea3f1481684eee62c0c913e8ff1421dc0807e5","731d07940d9b4313122e6cc58829ea57dcc5748003df9a0cad7eb444b0644685","b3ead4874138ce39966238b97f758fdb06f56a14df3f5e538d77596195ece0b5","032b40b5529f2ecce0524974dbec04e9c674278ae39760b2ee0d7fce1bb0b165","c25736b0cb086cd2afa4206c11959cb8141cea9700f95a766ad37c2712b7772b","033c269cd9631b3f56bb69a9f912c1f0d6f83cf2cff4d436ee1c98f6e655e3b5","bd6d692a4a950abbfabe29131420abe804e7f3cc187c3c451f9811e9cf4408ce","a9b6411417d4bffd9a89c41dc9dedda7d39fb4fa378eaa0ab55ec9ea1a94eb6a","1329e7cd7aca4d223ef5a088d82bc3f6f302ce70581c8d3823a050ea155eec3b","09248c76437c5b1efce189b4050c398f76a9385135af75c5fb46308b0d1432e0","b8df115bf7b30cceeb4550c0be507082b9930ee6268539a1a1aaffb0791cc299","dde00f41a2d2b1e70df6df8ac33de7cb3a658956212c7bee326245cc01c990c2","115d092e2748990ff0f67f376f47e9a45a2f21f7c7784102419c14b32c4362d1","bad694fd79dc34f31d401f890c05f5423232bff88f2c3aa8b14eb6c809d7eeda","5cd5a999e218c635ea6c3e0d64da34a0f112757e793f29bc097fd18b5267f427","cc14b99b4e1bbedab2e3fbf058ed95231d8ced691f0645f2a206c32464f1bd7b","e6db934da4b03c1f4f1da6f4165a981ec004e9e7d956c585775326b392d4d886","53e65282ab040a9f535f4ad2e3c8d8346034d8d69941370886d17055874b348d","6ecb85c8cbb289fe72e1d302684e659cc01ef76ae8e0ad01e8b2203706af1d56","35ab64ba795a16668247552da22f2efe1c5fbc5bc775392c534747be7f91df04","34283015304de5df8d6e3740b9bca58e40513ec6333b3fb0a3fa3aa4c43b856b","4a397c8a3d1cccf28751bcca469d57faeb637e76b74f6826e76ad66a3c57c7b8","34c1bb0d4cf216f2acb3d013ad2c79f906fe89ce829e23a899029dfa738f97e0","b70b5b3d14d125d6dcc16a9ac43cafe8801f644954ac36cb2918723f9cbbd4fe","b50f05738b1e82cbb7318eb35a7aaf25036f5585b75bbf4377cfa2bad15c40bf","c682cb23f38a786bb37901b3f64727bd3c6210292f5bb36f3b11b63fbe2b23ee","d6592cf10dc7797d138af32800d53ff4707fdcd6e053812ce701404f5f533351","997f6604cd3d35281083706aa2862e8181ed1929a6cbb004c087557d6c7f23c4","9584dd669a3bf285e079502ebbb683e7da0bf7f7c1eb3d63f6ef929350667541","41a10e2db052a8bf53ed4d933d9b4f5caa30bdaee5a9d978af95f6641ce44860","1dd236a02d5974092780f456750107a3158124002de00ca17342f3a4819e297b","652e51858bafd77e1abcc4d4e9d5e48cc4426c3dd2910021abd8cc664961e135","8c5c602045ffdfebeffc7a71cd2bf201fe147a371274b5fcbded765a92f2af78","6392ce794eef6f9b57818264bb0eeb24a46cf923f7695a957c15d3d087fbb6cc","b10f123e8100aa98723c133af16f1226a6360ec5b6990a0fe82b165d289549db","93d20368cdb5fff7f7398bfc9b2b474b2a2d5867277a0631a33b7db7fd53d5b4","b1e69b9834104482fabf7fba40e86a282ee10e0600ffd75123622f4610b0ef9e","ad5bb6c450cb574289db945ff82be103ed5d0ad8ee8c76164cee7999c695ae01","217761e8a5482b3ad20588a801521c2f5f9f7fb2fbb416d4eff3aff9b57f8471","7ad780687331f05998c62277d73b6f15ee3e8045b0187a515ffc49c0ad993606","e9aa5ccb42e118f5418721d2ac8c0ebdebeb9502007db9b4c1b7c9b8d493013e","d300868212b3cc4d13228f5dc2e9880d5959dc742c0c55be2fc43bcda8504c8f","0c55daad827669843bd2401f1ddd163b74d9f922680b08ae6e162ceb6c11b078","fe45a9bc654dfd1550c9466c0dad9c8017f2626476ed9d25c65ddfc1943f6b74","03abcbc7b5b68887525be71a194dd7f9f68276b5fb5b8989abae9a91585ddc33","5055e86e689cfe39104ab71298757e5aac839c2ea9d1f12299e76fa79303d47d","42266c387025558423c19d624f671352aac3e449c23906cb636f9ae317b72d7e","e578a36b3683d233e045a85c9adb0f10e83d2b48f777b9c05fbc363ccc6bdd34","0235d0ba0c7b64244d4703b7d6cabd88ba809abeb01da0c13e9ed111bf5e7059","9b21e8a79f4213c1cf29f3c408f85a622f9eb6f4902549ccb9a2c00717a0b220","d556e498591413e254793f9d64d3108b369a97bd50f9dd4015b5552888e975ef","e2c652c7a45072e408c1749908ca39528d3a9a0eb6634a8999b8cf0e35ef20c8","ec08224b320739d26aaf61cead7f1e0f82e6581df0216f6fe048aa6f5042cb8c","4eadaa271acca9bd20fc6ac1ea5e4bf9ab6698b8ccf3ec07c33df4970f8130f1","3a0a397189726902c046697f7bf38fecb557a79d5a644aac9ec983024b4c3d17","46f1df33bc635aa84313579ff51a7269707b58a8a32728e4e5fc7ab47816b44a","5ecd8fdeb6c87db9c320eefbfa9ea27efccbdce853ed38d5ba58e2da482edf1f","19a4d116285e7d77e91411966930761a2204ce2d20915afdb12652681a4a88d7","c30ca82112586c5dae7477d7e82cc91a7e0d1e658c581f9ec3df07c4485bba84","68fca1813d17ee736f41124ccc958d0364cdef79ad1222951bfacc36b2630a58","7813329e568df1d42e5a6c52312b1a7c69700e35a561cf085158c345be155b22","561067dc7b6b7635277d3cad0a0e11f698d377063dd2c15dfac43ef78847eef4","438247e782a8a9b9abdce618e963667cf95157cc6d3f5194a452d3c7d9e9655c","253f79802f33f405c1807f33efa7d78e0a26143ee694297d4f8e1477c7ed5e28","f1e8eca509487806fdf979349cfcdb6ffdeb20f11b7e95666c4309d12dcd9ba6","83724b26b711d85d6cfc9dd92fd5d666ffaae27fcfb1a0110401b98814ea26c0","869a27c929366c3c864013a991fd4c4c86af73eba25513e8ae915f814d3d349c","756e3f41a7f2501a34e1a070283c7f5550e200eeb43fed3c806e3f2edd924a75","59935cc13dcb7c3c7825e770a61e6696bfd11b65e3e47c28acc410dbdf8461c0","85e2808cc73ab3ac07774802b34a6ff0d7e1e46c26de7bc2dbe08e04b3340edb","f766e5cdea938e0c9d214533fd4501ab0ee23ab4efca9edba334fa02d2869f11","eb380820a3a1feda3a182a3d078da18e0d5b7da08ae531ce11133a84b479678c","7fba5cc3088ad9acada3daeff52dae0f2cac8d84d19508abd78af5924dc96bea","14176cfdbc3d1d633ad9b5daf044ab4c7d0d73be61ca2f14388800e21f0989cd","a24f510afe4d938d625a4b5a5374ac0478e56305e8743dd7d37d86d709754286","648acdbcbcd01b1a91e8b0ad390ed59fada685977f44b90e148b65bd8159dfe8","8309898ba0ac6f2856a94a11723d499091253a6d5df34ddebc6149d43480bfd2","a317ae0eb092da3fd799d1717a2da319a74abebe85e2914cb259222969f95705","36d76e2dbd5f5243bd566b018c589e2ba707e34b24ec7d285feb11ba6bf23fbe","f780879a2ca63dbb59b36f772bc28dccd2840f1377d8d632e8c978b99c26a45f","335c2e013b572967a9a282a70f9dded38631189b992381f1df50e966c7f315d6","8b7a519edbd0b7654491300d8e3cbd2cb3ef921003569ca39ebd33e77479bb99","c90f8038c75600e55db93d97bab73c0ab8fb618d75392d1d1ad32e2f6e9c7908","ca083f3bf68e813b5bded56ecbf177636aa75833eb86c7b40e3d75b8ce4c2f78","3c8bf00283ef468da8389119d3f5662c81106e302c8810f40ea86b1018df647e","67b248e4bac845c5139898b44cbd3e1213674bcc9831039701b5f0f957243a24","63d49516f359186f7b3e3115f2c829ed75c319b34022c97b56beead032a073b7","9f5f256c7b5cc4a98ef557ea9720f81e96319d569f731c897ddb4514936242b4","a20ded6c920f6e566537e93d69cbad79bc57d7e3ce85686003078cf88c1c9cfc","40b2d781df7b4a76d33454cb917c3883655ec1d8d05424b7a80d01610ad5082f","703ea2acd8b4741248897a5709cd46e22fcd9d13f01ff3481322a86505f0b77c","e09c56f8c446225e061b53cb2f95fcbbc8555483ab29165f6b0f39bc82c8d773","51ebaff0cba6b3adf43f13b57bb731d56946cabd06d14cf9dfc7c5eaa8f95770","d5cb1de6b2e971bd60a936d95a0e0f99803b248c7dde1091cd9d21f992931543","6e2533e27eba5ff02d6eed37e0a7eb69ae7982e0f72fd8f74c90ab201f061867","58c62e415bf74b1423bf443587e33d7951a8bf19d7b03073f26e86d9b43ba9ea","dd6ec67ad168e92b8bf79ba975c6e0be8c60e403ba704d1c1b31a6059c12f967","bcaf468eea143f8e68ca40e5da58d640656b4f36697170c339042500be78ac5d","92de961d1db5fe075db8c0b6414a6eec430adaf9022465fe9d0a23f437aafcb3","7610ecdae59cea1a8db7580941ebc24d522d8ac1751ce718a6af22d41e1a1279","7355edff7686f91edbca25e0fe9d6c3359df2520d48d3dc6d857aa47047f8ddf","9a4e56ec89f4716609ca2cb5b92798adbdbabd7167e2738f85597685d8211964","b25556c4111afad4cb174aa4674db2e5b23a6b191dc6a3e42c7c3417ea446a68","f9568a3a6c74013aee8b09d73ef04175596b51ce6f5d9dcd4885418170fe9306","bd3910ccd4fcd05ebd83fbfeb62f5a82a6674c85c6c0e4755c16298df7abe4d7","7c0541d0addc3007e5f5776023d5e6e44f96eae0684cdabe59ef04f2a294b116","70137204b720e4dd1b81260a70578f0f4f417c53837f8a13859b2f58e20d7150","b28b6875a761fd153ebf120fecb359660de80fd36e90c9b3d72a12318bd5d789","56d092bd6225f6e67d9acab3fd65ce0a4edb36cadba2f0370e67322e2f6f1bc8","a4709d5d466ad8dcf4ddccb905ad95348131df1616f964185be9739f96526bde","73b0fd6255f24e82be861f800a264f0175984062b6ccca3052578b03ed6f397b","4a3f7c6f02cb01eb7a9800548b41cfa03a57e476fc92a72869983f37efa8067a","3193a439d80d6c4fb7916d5305305fa72836fdd65a67b56064abf1b02161014d","bc0b17d3fd0e34083fbc886367ed53563b569d1d05214f60b21117e2dbfb7fdd","c1cc2a1ac9ae043fd05e07193d408c0f0bf4628e54c19871621ce1049d4c200e","d005c21b9c42bd1ccde99f183dc2d3c992be407aa63c4ba3371e4f81cf36b2aa","9a7638d62db8cfa1466093d7d413fdf85c5e4a7c663ed76f2bfc8739c8e01505","e1659c8e9213467be39c6c6c6961b26fb6d88d401a077fdb4b1f02af3a35270d","c338859b98f8a11f80e3e47e33767299e7a4facdf0870c01c8694fa8fa048d16","4f64016165565f743356812e33ac22f5ef91891738927e413121f502b186210c","b113e9770d5be136c5e2add9e6cdf40d85051762ff2391f71d552975e66b1500","8f1241f5d9f0d3d72117768b3c974e462840fbd85026fb66685078945404cf2f","6ecc423e71318bafbd230e6059e082c377170dfc7e02fccfa600586f8604d452","772f9bdd2bf50c9c01b0506001545e9b878faa7394ad6e7d90b49b179a024584","f204b03cb07517d71715ac8bc7552542bfab395adb53e31c07fbc67de6856de1","7467736a77548887faa90a7d0e074459810a5db4bbc6de302a2be6c05287ccae","39504a2c1278ee4d0dc1a34e27c80e58b4c53c08c87e3a7fc924f18c936bebb5","cd1ccdd9fd7980d43dfede5d42ee3d18064baed98b136089cf7c8221d562f058","d60f9a4fd1e734e7b79517f02622426ea1000deb7d6549dfdece043353691a4e","403d28b5e5f8fcff795ac038902033ec5890143e950af45bd91a3ed231e8b59c","c73b59f91088c00886d44ca296d53a75c263c3bda31e3b2f37ceb137382282be","e7aa2c584edb0970cb4bb01eb10344200286055f9a22bc3dadcc5a1f9199af3e","bfeb476eb0049185cb94c2bfcadb3ce1190554bbcf170d2bf7c68ed9bb00458e","ae23a65a2b664ffe979b0a2a98842e10bdf3af67a356f14bbc9d77eb3ab13585","eccf6ad2a8624329653896e8dbd03f30756cbd902a81b5d3942d6cf0e1a21575","1930c964051c04b4b5475702613cd5a27fcc2d33057aa946ff52bfca990dbc84","2793d525d79404df346e4ef58a82f9b6d28a7650beeb17378cd121c45ba03f02","62463aa3d299ae0cdc5473d2ac32213a05753c3adce87a8801c6d2b114a64116","c9c2eabaad71c534d7de16385977f95184fdf3ddd0339dadbd5d599488d94f90","bdf0a372e233a8f5ab5daba2763ab8897e1044d735c1698a261b8e2ab08d8d13","8f4469dd750d15f72ba66876c8bc429d3c9ce49599a13f868a427d6681d45351","9026f7ee47fa7dc96ad6e527dd65fb975951ce2dcb8bf4c3206f9886c2d341dc","f689c0633e8c95f550d36af943d775f3fae3dac81a28714b45c7af0bbb76a980","fef736cfb404b4db9aa942f377dbbac6edb76d18aabd3b647713fa75da8939e9","45659c92e49dfca4601acc7e57fbb03a71513c69768984baf86ead8d20387a01","0239d8f6a3f51b26cbdbb9362f4fde35651c6bd0ff3d9fc09ee4a2da6065cb4e","6e5ab399ec7bd61d4f86421cc6074fd904379c3923706c899d15146e4f9a08c8","fa38b6d647d2cd53ed708b8f573692463e54cd65a5d5cb6890312d369925f32d","df343f5de08f5b607a3c7954ff1b512b7fa983d561e136cce0b6dc6849602a15","8fc97ef271771dc6f81a9c846d007ac4f0cb5779e3f441c1de54dfda5046fe7b","b5a060e2a4c54695076f871ddc0c91a0ff8eea1262177c4ede5593acbf1ca3bb","e711a3bd7ca41fb29b7a5c3f96373839d867578859e64c3688cfad603dc6c879","1c225a18846203fafc4334658715b0d3fd3ee842c4cfd42e628a535eda17730d","7ce93da38595d1caf57452d57e0733474564c2b290459d34f6e9dcf66e2d8beb","b251114717c08c462c1a8388155ded58cbdfbadc13488b775a4eaaa59863dc46","f3a2902e84ebdef6525ed6bf116387a1256ea9ae8eeb36c22f070b7c9ea4cf09","33bb0d96cea9782d701332e6b7390f8efae3af92fd3e2aa2ac45e4a610e705d6","ae3e98448468e46474d817b5ebe74db11ab22c2feb60e292d96ce1a4ee963623","f0a2fdee9e801ac9320a8660dd6b8a930bf8c5b658d390ae0feafdba8b633688","7beb7f04f6186bdac5e622d44e4cac38d9f2b9fcad984b10d3762e369524dd77","8f1241f5d9f0d3d72117768b3c974e462840fbd85026fb66685078945404cf2f","cd8d08a3cae3dc5a373579c1aecac0c4a7d46125e6733e5b3a92174ee46d89ca","9c513c2c14ea3263fed2d556ea7aa50b48cf2a544e6a0757ed2e73fd4bfdf40d","3a409bb108ae071dacff42b554da073f06e76c960c590bf009be78ed7162e0ae","5f4c73beb19428abd42ab1059c0236b0587b04e7113a88290aa6b4cf971aad35","fc8ff6ea835e078664778781c7a59335dac3ceeb05676ac7b934afe98ed9cbad","08d35f7559e341980db1b189b795b8642c51256ea38b3b32cb591c21a797ab04","aa4a392782038dcfbc9c29a737aaafd53d8a088f006863b01ff727fe78026dc6","faa456c0a246dff581f1a1a91376ac2177f90218b8a869ee09ca01a70c5624c6","ab6e3a48430aede233c1377677f126168554a28109b7f15a8028454e64d99603","f4a896e6eba41dfc447bb3dda91867aa13acd27ec642d2a6bbd3e1d06cb1c467","94de0d54839ef77a2575690a9f6b1997fd382e81d5acb45252b7740d4c494f55","fc38e7081801b120cc8b9174e830a18742a648c4c5e2f1e1205ce2c703943050","ab8a129f69a3584e80a909cd2d067f0ef39f140d758f74256ca45a01e70eeba8","688b5016530c3b1d369b2850b8271cba85117c966d894598be6d2af39788860c","f5845a29a9bcddb41842bb9b8a5c05641609997bd3b1c9bf3584428a14fcfd73","2f31f8f7fea8969b12d8112e3b9daaf4fe2aa0b8ba510e9b83cea2f120854767","8a39cc95abe8e1944e2542bf6e5e5a358d40a04fe8a1de5937f0cc8f16555a44","1f68bb63e802ba99c445e1fc2ca4a6484ef8130a65cb45abb3ec4871063ed31a","04af48d8e537f4d5a1d73b972dcd24aaddf41a492c8095c7d6210bf5e4c2f670","0b5350188d15f0430ec2fa2c7636ea179decbaee96eb2fc9dc61085a06ae5650","b8ad793dc17938bc462812e3522bbd3d62519d91d9b4a6422bed1383c2d3eb42","8b0b6a4c032a56d5651f7dd02ba3f05fbfe4131c4095093633cda3cae0991972","ff3c48a17bf10dfbb62448152042e4a48a56c9972059997ab9e7ed03b191809b","192a0c215bffe5e4ac7b9ff1e90e94bf4dfdad4f0f69a5ae07fccc36435ebb87","3ef8565e3d254583cced37534f161c31e3a8f341ff005c98b582c6d8c9274538","d7e42a3800e287d2a1af8479c7dd58c8663e80a01686cb89e0068be6c777d687","1098034333d3eb3c1d974435cacba9bd5a625711453412b3a514774fec7ca748","f2388b97b898a93d5a864e85627e3af8638695ebfa6d732ecd39d382824f0e63","6c6bd91368169cfa94b4f8cc64ebca2b050685ec76bc4082c44ce125b5530cca","f477375e6f0bf2a638a71d4e7a3da8885e3a03f3e5350688541d136b10b762a6","a44d6ea4dc70c3d789e9cef3cc42b79c78d17d3ce07f5fd278a7e1cbe824da56","a74519588a22a1c254c2853ba4dc82d0dfc1da22ad7ac7fd6feb6a91236ef5d1","1803e48a3ec919ccafbcafeef5e410776ca0644ae8c6c87beca4c92d8a964434","875c43c5409e197e72ee517cb1f8fd358406b4adf058dbdc1e50c8db93d68f26","8854713984b9588eac1cab69c9e2a6e1a33760d9a2d182169059991914dd8577","e333d487ca89f26eafb95ea4b59bea8ba26b357e9f2fd3728be81d999f9e8cf6","2f554c6798b731fc39ff4e3d86aadc932fdeaa063e3cbab025623ff5653c0031","fe4613c6c0d23edc04cd8585bdd86bc7337dc6265fb52037d11ca19eeb5e5aaf","53b26fbee1a21a6403cf4625d0e501a966b9ccf735754b854366cee8984b711c","30676a61ef0eca261117e20257cd3ac49803301afc9a29c543abf34930202933","981379335e8bb8e39196931acc39ff446922c964ac0998b61caac8e242068d31","8c59d8256086ed17676139ee43c1155673e357ab956fb9d00711a7cac73e059d","cfe88132f67aa055a3f49d59b01585fa8d890f5a66a0a13bb71973d57573eee7","53ce488a97f0b50686ade64252f60a1e491591dd7324f017b86d78239bd232ca","50fd11b764194f06977c162c37e5a70bcf0d3579bf82dd4de4eee3ac68d0f82f","e0ceb647dcdf6b27fd37e8b0406c7eafb8adfc99414837f3c9bfd28ffed6150a","99579aa074ed298e7a3d6a47e68f0cd099e92411212d5081ce88344a5b1b528d","d2d58166965f631fa203f405f3713b0f86f1f8b80755e9daea43057a25311e16","ce7dbf31739cc7bca35ca50e4f0cbd75cd31fd6c05c66841f8748e225dc73aaf","942ab34f62ac3f3d20014615b6442b6dc51815e30a878ebc390dd70e0dec63bf","7a671bf8b4ad81b8b8aea76213ca31b8a5de4ba39490fbdee249fc5ba974a622","8e07f13fb0f67e12863b096734f004e14c5ebfd34a524ed4c863c80354c25a44","6f6bdb523e5162216efc36ebba4f1ef8e845f1a9e55f15387df8e85206448aee","aa2d6531a04d6379318d29891de396f61ccc171bfd2f8448cc1649c184becdf2","d422f0c340060a53cb56d0db24dd170e31e236a808130ab106f7ab2c846f1cdb","424403ef35c4c97a7f00ea85f4a5e2f088659c731e75dbe0c546137cb64ef8d8","16900e9a60518461d7889be8efeca3fe2cbcd3f6ce6dee70fea81dfbf8990a76","6daf17b3bd9499bd0cc1733ab227267d48cd0145ed9967c983ccb8f52eb72d6e","e4177e6220d0fef2500432c723dbd2eb9a27dcb491344e6b342be58cc1379ec0","ab710f1ee2866e473454a348cffd8d5486e3c07c255f214e19e59a4f17eece4d","db7ff3459e80382c61441ea9171f183252b6acc82957ecb6285fff4dca55c585","4a168e11fe0f46918721d2f6fcdb676333395736371db1c113ae30b6fde9ccd2","2a899aef0c6c94cc3537fe93ec8047647e77a3f52ee7cacda95a8c956d3623fb","ef2c1585cad462bdf65f2640e7bcd75cd0dbc45bae297e75072e11fe3db017fa","6a52170a5e4600bbb47a94a1dd9522dca7348ce591d8cdbb7d4fe3e23bbea461","6f6eadb32844b0ec7b322293b011316486894f110443197c4c9fbcba01b3b2fa","a51e08f41e3e948c287268a275bfe652856a10f68ddd2bf3e3aaf5b8cdb9ef85","16c144a21cd99926eeba1605aec9984439e91aa864d1c210e176ca668f5f586a","af48a76b75041e2b3e7bd8eed786c07f39ea896bb2ff165e27e18208d09b8bee","ef1aa3da0d6bc679154169c3830ab65441b615641a6e982410ee3cbdc66fa290","deb092bc337b2cb0a1b14f3d43f56bc663e1447694e6d479d6df8296bdd452d6","aa4e4a68ce82cb642b78a1efa5768fb717ba3a019641d161c803a09c748813d1","77165b117f552be305d3bc2ef83424ff1e67afb22bfabd14ebebb3468c21fcaa","128e7c2ffd37aa29e05367400d718b0e4770cefb1e658d8783ec80a16bc0643a","076ac4f2d642c473fa7f01c8c1b7b4ef58f921130174d9cf78430651f44c43ec","396c1e5a39706999ec8cc582916e05fcb4f901631d2c192c1292e95089a494d9","89df75d28f34fc698fe261f9489125b4e5828fbd62d863bbe93373d3ed995056","8ccf5843249a042f4553a308816fe8a03aa423e55544637757d0cfa338bb5186","93b44aa4a7b27ba57d9e2bad6fb7943956de85c5cc330d2c3e30cd25b4583d44","a0c6216075f54cafdfa90412596b165ff85e2cadd319c49557cc8410f487b77c","3c359d811ec0097cba00fb2afd844b125a2ddf4cad88afaf864e88c8d3d358bd","d8ec19be7d6d3950992c3418f3a4aa2bcad144252bd7c0891462b5879f436e4e","f0a6974a1b5d0ceb79f5a589373cc2a291bd80a765eb2d799db6d8d51f2c2462","d62f09256941e92a95b78ae2267e4cf5ff2ca8915d62b9561b1bc85af1baf428","e6223b7263dd7a49f4691bf8df2b1e69f764fb46972937e6f9b28538d050b1ba","2daf06d8e15cbca27baa6c106253b92dad96afd87af9996cf49a47103b97dc95","1db014db736a09668e0c0576585174dbcfd6471bb5e2d79f151a241e0d18d66b","8a153d30edde9cefd102e5523b5a9673c298fc7cf7af5173ae946cbb8dd48f11","abaaf8d606990f505ee5f76d0b45a44df60886a7d470820fcfb2c06eafa99659","8109e0580fc71dbefd6091b8825acf83209b6c07d3f54c33afeafab5e1f88844","d92a80c2c05cf974704088f9da904fe5eadc0b3ad49ddd1ef70ca8028b5adda1","fbd7450f20b4486c54f8a90486c395b14f76da66ba30a7d83590e199848f0660","ece5b0e45c865645ab65880854899a5422a0b76ada7baa49300c76d38a530ee1","62d89ac385aeab821e2d55b4f9a23a277d44f33c67fefe4859c17b80fdb397ea","f4dee11887c5564886026263c6ee65c0babc971b2b8848d85c35927af25da827","fb8dd49a4cd6d802be4554fbab193bb06e2035905779777f32326cb57cf6a2c2","df29ade4994de2d9327a5f44a706bbe6103022a8f40316839afa38d3e078ee06","82d3e00d56a71fc169f3cf9ec5f5ffcc92f6c0e67d4dfc130dafe9f1886d5515","f06737e21dd482dc9ea719299a665460aaa9d0f185c7302703468f46002cc16e","4c30a5cb3097befb9704d16aa4670e64e39ea69c5964a1433b9ffd32e1a5a3a1","1b33478647aa1b771314745807397002a410c746480e9447db959110999873ce","7b3a5e25bf3c51af55cb2986b89949317aa0f6cbfb5317edd7d4037fa52219a9","501ec1552723a1a93b1ac96ff78de1004e9df703bc17ce84acb1924db0b310a6","9fac6ebf3c60ced53dd21def30a679ec225fc3ff4b8d66b86326c285a4eebb5a","8cb83cb98c460cd716d2a98b64eb1a07a3a65c7362436550e02f5c2d212871d1","07bc8a3551e39e70c38e7293b1a09916867d728043e352b119f951742cb91624","e47adc2176f43c617c0ab47f2d9b2bb1706d9e0669bf349a30c3fe09ddd63261","7fec79dfd7319fec7456b1b53134edb54c411ba493a0aef350eee75a4f223eeb","189c489705bb96a308dcde9b3336011d08bfbca568bcaf5d5d55c05468e9de7a","98f4b1074567341764b580bf14c5aabe82a4390d11553780814f7e932970a6f7","dadfa5fd3d5c511ca6bfe240243b5cf2e0f87e44ea63e23c4b2fce253c0d4601","2e252235037a2cd8feebfbf74aa460f783e5d423895d13f29a934d7655a1f8be","763f4ac187891a6d71ae8821f45eef7ff915b5d687233349e2c8a76c22b3bf2a","784d7c4886d9943e3f8ac68e7a892a1eda70250ece611063cb1a5ad7b2a6e63b","d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","b78cd10245a90e27e62d0558564f5d9a16576294eee724a59ae21b91f9269e4a","b94dbee2ff37d83eb578d3154289afa878f749101bd124172beece3d80a68178","2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed",{"version":"a5562ab0448c81180ef220ff104441a4d67187a2259e6008397e7531a821f0e7","affectsGlobalScope":true},"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","34118be360cdd3381bbebbfd4b093c394460c8fc5df40688d58f45d86ab1448b","104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","5c45abf1e13e4463eacfd5dedda06855da8748a6a6cb3334f582b52e219acc04","3c36c02fabbf2ccea547da6620dd278ee11c3ce4e9e75f208d1f7fbf15258964","0bf811dcbddc95e2551f704cfd2afc267bf619f8b8f2b7bdbb94df96ec3cbfe3","243e3c271aff347e8461255546750cf7d413585016c510e33907e42a754d6937","7c14e702387296711c1a829bc95052ff02f533d4aa27d53cc0186c795094a3a9","4c72d080623b3dcd8ebd41f38f7ac7804475510449d074ca9044a1cbe95517ae","579f8828da42ae02db6915a0223d23b0da07157ff484fecdbf8a96fffa0fa4df","3f17ea1a2d703cfe38e9fecf8d8606717128454d2889cef4458a175788ad1b60","3ae3b86c48ae3b092e5d5548acbf4416b427fed498730c227180b5b1a8aa86e3","8f1241f5d9f0d3d72117768b3c974e462840fbd85026fb66685078945404cf2f","160b24efb5a868df9c54f337656b4ef55fcbe0548fe15408e1c0630ec559c559","ae3b732d8838dc320007466f1bd4b3c6daa5e14a7a3f2fbe3f9945f3e70b9791","e104292a4f22b8d756c3bd37b166b84398045ec0d3bf45da259cdddcae6c4552","f634e4c7d5cdba8e092d98098033b311c8ef304038d815c63ffdb9f78f3f7bb7","1fd2fc553e46df652a76b7ba2d612f37c696a1a1c703b4880cb9ab1da5987a16","a7024dca5ee3c01125a2a1cde6c4487b6d1d7c51fe8ffffd23b08f3f46ea0538","23e8e8eea7056913d05eb76aaaacab7aad4fb97fb3937de8b0fc690867f4b14f","9d588a90031d6d3b90e2827e24d570a70b452d12e85e787625d9268ddd4df02d","60ec903590aa71c4f855f5a36c82c740220843d0ec7cd64a9fc52ff7aa17fd63","e324e0d81b457538fec39b1a331e72bfcc329dc14710b58df92f0ea42f4a939b","8e450ef4b030df046f366578f073bffd93a4c0f28c191fc30871261a52fbcb29","8d780892b30a63b7e699ab3dea7fe14c9b0e2d691a32de96e6f235259dd7754e","95477cb788104e300860db6970e102c1edd72af03b2438c0e703e0131a778af5","7fe2cd24fcfdf35c8c1265827152db78129146261c94b6b7e4d1f3276b0dfe1d","4271866b2e14336af4230ebaab52fcf6c216761513a297ca28a6a63e5f33c93d","f41f85cdb87d7d8e4280f54a6ee77808c1286ac2e232d0ac8d09d1e9aa20db50","63b9ad75c538210ed1b664ba9002775295c9e3706aad9dd7c95cb550e880a46b","877d1b2cdaf5e8575320eec44d1c5e14128dbca15e2e28dbb9378e064a9c3212","d4956b30435c1ffdda9db71d5e2187ecff3da720a2d10cfc856d071ddfa987e0","8a15db8a6f77abf5d6acbfcc7bdb09cd725776aaee3fa033ace7e223be38cb50","7c5cddaa1cc232f33f6bf7d0a96aeacaab7d7858ecb61ae25136624c6c1c758d","7cdeabe4ecfbd65ec72c85dd87398be467f50299e7498f0ac9d1d3e6756a53d0","04b524e5f3959484ef978e13978743fffbca584ee7bb67963290a0130c63dc44","f99f11ba2087ed27fdbc0d3fa981ae00c6f7945ace35800fcea67db207059d9d","4616ea42e34b609d6a26a6ce3c998caed06fa2b17529a147760482f45d462b92","35d886b8d896fe37b23c6baf6558f01f98fae7eb8e04ab72fda918d0281a5309","c93f9f4c623534e8802261fcbf980014e9f626f7af56f1586152e1b084d1a951","22754b781f18cf48d7c7588f8fe6b41cc4b8f2f0c77d4598859e720fb031713c","04a1ab8d5341b82713f930aef2da67efe859a2b851a6b2dcbe6a08ae4d1de7d2","3fd246dfb3ae59cf5244b7eedaea7dba7abf80ba51d129fd53e4cc17679660f7","abc76ababd66a4657600c3a4353853537b0920d75e72535acc0c806665546eff","c062e4d79dbfa3054bcefd7797d9d2697d85e416468ef31be8b682abac150637","e4d6a6442c5a8aadfbbb37b36d10c1a2c9b4325bb6bc354986b5ece0f48f4c74","e299a603707f9baae484e209e9e0ac1c5d65c095faaaabf168c60a7e91a4e960","35f9d0fb4b041db801997d4b8f6ac6a972e6f9d6726e5978405331344599a7ab","ff812d151cf8c94a33f931266ce101393f8d15eff91cbee83049f528b8cd39d0","44a936ef43580337d38d13b62305252dc7878eec9c4bf06e429fc0a698cf2802","1ce06e3279b666f27ac6e5534703396ca5ed706fc28dff249ace55cd84263d96","c67a67549a02d57c0c34292e9d63825031d46ec46aa570ff663d0d54bea8c2cf","768757fbef399c6f053d7f8f88a90e439fab50eeb21c04270a62e0f6b76cb9f3","b0d44de5a266a790b6ff19346bb06c01967cd070cc69de1c0b7e649cfedf1cae","79ba2d2fdf415255a4b4033f0da0a633efd3f5e1adb8af4176901b9a44d4d363","884dae99ce06dde2330d3ceb4e476786208930b0018ff6acd3de720b6b44928a","0e91e02f62e83dbe6b9b890bb67a4d6aacaa16502153d0b12af46b4e25e25c98","f6b2a8923f81819e59ce427da0087b5645b1a2784de013e44e8cde317e0c7f51","5bf595f68b7c1d46ae8385e3363c6e0d4695b6da58a84c6340489fc07ffc73f8","b87682ddc9e2c3714ca66991cdd86ff7e18cae6fd010742a93bd612a07d19697","e1c0bd0b35d258fcab7176fdfe9d2fe0b6c0a8c493a015a7fcbf5c93c83658b3","86bf2bfe29d0bc3fbc68e64c25ea6eab9bcb3c518ae941012ed75b1e87d391ae","b02fa868c4daa82af061f4c97c81e38dc95a3cac5a65f793d8504fbf3df7bd72","00b4f8b82e78f658b7e269c95d07e55d391235ce34d432764687441177ae7f64","c6e10ed499e3ecb1139928b1cf6ef86bde084551faafb03c079939a3668cf8aa","10ac50eaf9eb62c048efe576592b14830a757f7ea7ed28ee8deafc19c9845297","e75af112e5487476f7c427945fbd76ca46b28285586ad349a25731d196222d56","e91adad3da69c366d57067fcf234030b8a05bcf98c25a759a7a5cd22398ac201","d7d6e1974124a2dad1a1b816ba2436a95f44feeda0573d6c9fb355f590cf9086","464413fcd7e7a3e1d3f2676dc5ef4ebe211c10e3107e126d4516d79439e4e808","18f912e4672327b3dd17d70e91da6fcd79d497ba01dde9053a23e7691f56908c","2974e2f06de97e1d6e61d1462b54d7da2c03b3e8458ee4b3dc36273bc6dda990","d8c1697db4bb3234ff3f8481545284992f1516bc712421b81ee3ef3f226ae112","59b6cce93747f7eb2c0405d9f32b77874e059d9881ec8f1b65ff6c068fcce6f2","e2c3c3ca3818d610599392a9431e60ec021c5d59262ecd616538484990f6e331","e3cd60be3c4f95c43420be67eaa21637585b7c1a8129f9b39983bbd294f9513c",{"version":"d57be402cf1a3f1bd1852fc71b31ff54da497f64dcdcf8af9ad32435e3f32c1f","affectsGlobalScope":true},"6ada175c0c585e89569e8feb8ff6fc9fc443d7f9ca6340b456e0f94cbef559bf","e56e4d95fad615c97eb0ae39c329a4cda9c0af178273a9173676cc9b14b58520","73e8dfd5e7d2abc18bdb5c5873e64dbdd1082408dd1921cad6ff7130d8339334","fc820b2f0c21501f51f79b58a21d3fa7ae5659fc1812784dbfbb72af147659ee","a65cf458c879172bef4012d3397612e7357bf72971b09db5bb5bf8fca0957612","5ce74f1b14102399a01b155faba8106a0e14e08bec55cfca7655fe9bece0ff4d","31501b8fc4279e78f6a05ca35e365e73c0b0c57d06dbe8faecb10c7254ce7714","3650e93e85cae11f25349c6a522fca35baf60cffaceb91e2b013601f72de0f63","67e755a9e49ab3ebbddf60a17643be554598d8ad59edeb0c28fdd87e41fc62b9","21351f2b5f9145dc08c8b4c73f32e1363ac5f1eedc58d9ab17b5b47e7ccb525c","28d89a74b9593fd98894d81c3ddf7e47603ce046dae71c98b830f6ee6e307c3f","50d2ecfdc270e2307cf57c2008043723a336e7f8d97d1d565dc0f0cdfa5b56b1","d05bd4d28c12545827349b0ac3a79c50658d68147dad38d13e97e22353544496","0ec4c2ef46373bfbc46c2aac90c70a735d9caa7c209230478ad87d4421969538","04ace6bedd6f59c30ea6df1f0f8d432c728c8bc5c5fd0c5c1c80242d3ab51977","57a8a7772769c35ba7b4b1ba125f0812deec5c7102a0d04d9e15b1d22880c9e8","65e9fae8f22278e6c9ac5b016dbe1ead01b8014f66ce08a807741885d4bf01f1","8120d991ec4ded00b221e6d3b45bb6652b75baf03100522ea1602cd4f854e273","c9782043e87ef29513deeb64ddb512864e0675fcc3ba93156cb2951a93e1d649","ef768c6ebe9ed0a5dee843b5d18ffb3cf008fba32e50c4dd5533a297928adfd2","590425fe71d02a3315980abd12b982850a8dcd46c749140480a1ca1e59455abd","648de183e96896be0569460117d9c548897489be44245bdce9f1e423fe68ae1e","88e197b87e733de95cc36a3fb96ad9d735a68a0f43ffda13bf2ff9513b0b8cc6","1f81e01c7962d37428e30bda0165cf5343d5f4b5b2b97f98659fd628385a761c","dd056b2d5b2db1215e76f81557fb0a0db285b9c4b2c6c6c62c5462ba46e1dfe7","6b459544c41b22b83daf36ea2ac6c72373dceeabf47e1053c0aa2e9df029caf1","4c78b250316690a4a19ab37098cb56948a2f101c7fd19a718b5a9794e3feb74b","94bb42c47a0adbd0ae795822ac8c9ddd5b62383fa389ba90f72f2d7ed23e76e0","846d24c27e275ec10c0614b8284fcca0bb411a3a4ee2ff51ce56b225b3052c76","f56e8a39af19d3215849d21fa76b3d729ab6e718e1adcdfb16fcc51daffe1b8c","0e1b513397eb60607ddb7b361fac71d8131a5fe41d3ac04fb8a05b7bf1decdd2","6c86fc19d315a102361513883db87fadaeae81d018ec7543f2cd482ac03ffc1f","cce634c34b6c7f65dee69198088da7d36a5a09d22890acd7b2d9951d5af654b0","f41e9a271d7f7098b2b45e5d8ee68b0d29c3e1da157c318ea9e39824c9847ea1","41f3d052b10787c2d12f490f3a03bc2f972653a71115bf8dc53eef78c9a54d9d","7b757271238b87c47a67ba17d879b9478980c3a686007e427e0f8cd9817b72d1","9677844594ffecdfbcfe6fec864857ec64c46c46e16f905ac744dbb565c48cbc","7ca0b83a880190f3c453347a3b1048c60b6ba1360e7d93082ad9e59d6f1b383b","80db0ac764bdce7d177d3061c959537866571a87711a6747cdef01a94e55e306","b6e995b5ef6661f5636ff738e67e4ec90150768ef119ad74b473c404304408a1","5d470930bf6142d7cbda81c157869024527dc7911ba55d90b8387ef6e1585aa1","074483fdbf20b30bd450e54e6892e96ea093430c313e61be5fdfe51588baa2d6","b7e6a6a3495301360edb9e1474702db73d18be7803b3f5c6c05571212acccd16","aa7527285c94043f21baf6e337bc60a92c20b6efaa90859473f6476954ac5f79","dd3be6d9dcd79e46d192175a756546630f2dc89dab28073823c936557b977f26","8d0566152618a1da6536c75a5659c139522d67c63a9ae27e8228d76ab0420584","ba06bf784edafe0db0e2bd1f6ecf3465b81f6b1819871bf190a0e0137b5b7f18","a0500233cb989bcb78f5f1a81f51eabc06b5c39e3042c560a7489f022f1f55a3","220508b3fb6b773f49d8fb0765b04f90ef15caacf0f3d260e3412ed38f71ef09","1ad113089ad5c188fec4c9a339cb53d1bcbb65682407d6937557bb23a6e1d4e5","e56427c055602078cbf0e58e815960541136388f4fc62554813575508def98b6","1f58b0676a80db38df1ce19d15360c20ce9e983b35298a5d0b4aa4eb4fb67e0f","3d67e7eb73c6955ee27f1d845cae88923f75c8b0830d4b5440eea2339958e8ec","11fec302d58b56033ab07290a3abc29e9908e29d504db9468544b15c4cd7670d","c66d6817c931633650edf19a8644eea61aeeb84190c7219911cefa8ddea8bd9a","ab1359707e4fc610c5f37f1488063af65cda3badca6b692d44b95e8380e0f6c2","37deda160549729287645b3769cf126b0a17e7e2218737352676705a01d5957e","d80ffdd55e7f4bc69cde66933582b8592d3736d3b0d1d8cc63995a7b2bcca579","c9b71952b2178e8737b63079dba30e1b29872240b122905cbaba756cb60b32f5","b596585338b0d870f0e19e6b6bcbf024f76328f2c4f4e59745714e38ee9b0582","e6717fc103dfa1635947bf2b41161b5e4f2fabbcaf555754cc1b4340ec4ca587","c36186d7bdf1f525b7685ee5bf639e4b157b1e803a70c25f234d4762496f771f","026726932a4964341ab8544f12b912c8dfaa388d2936b71cc3eca0cffb49cc1d","83188d037c81bd27076218934ba9e1742ddb69cd8cc64cdb8a554078de38eb12","7d82f2d6a89f07c46c7e3e9071ab890124f95931d9c999ba8f865fa6ef6cbf72","4fc523037d14d9bb6ddb586621a93dd05b6c6d8d59919a40c436ca3ac29d9716","cb5eaaa2a079305b1c5344af739b29c479746f7a7aefffc7175d23d8b7c8dbb0","0d72f576807bb4f6f682bc705e06eb3e730139b018e8c026e3187f3f389ce2e9","56749bf8b557c4c76181b2fd87e41bde2b67843303ae2eabb299623897d704d6","5a6fbec8c8e62c37e9685a91a6ef0f6ecaddb1ee90f7b2c2b71b454b40a0d9a6","e7435f2f56c50688250f3b6ef99d8f3a1443f4e3d65b4526dfb31dfd4ba532f8","6fc56a681a637069675b2e11b4aa105efe146f7a88876f23537e9ea139297cf9","33b7f4106cf45ae7ccbb95acd551e9a5cd3c27f598d48216bda84213b8ae0c7e","176d6f604b228f727afb8e96fd6ff78c7ca38102e07acfb86a0034d8f8a2064a","c5079a23a0200a682ec3db25bc789d6cee4275b676a86ec1a3964d919b977e6a","8bcb884d06860a129dbffa3500d51116d9d1040bb3bf1c9762eb2f1e7fd5c85c","e55c0f31407e1e4eee10994001a4f570e1817897a707655f0bbe4d4a66920e9e","a37c2194c586faa8979f50a5c5ca165b0903d31ee62a9fe65e4494aa099712c0","6602339ddc9cd7e54261bda0e70fb356d9cdc10e3ec7feb5fa28982f8a4d9e34","7ffaa736b8a04b0b8af66092da536f71ef13a5ef0428c7711f32b94b68f7c8c8","7b4930d666bbe5d10a19fcc8f60cfa392d3ad3383b7f61e979881d2c251bc895","46342f04405a2be3fbfb5e38fe3411325769f14482b8cd48077f2d14b64abcfb","8fa675c4f44e6020328cf85fdf25419300f35d591b4f56f56e00f9d52b6fbb3b","ba98f23160cfa6b47ee8072b8f54201f21a1ee9addc2ef461ebadf559fe5c43a","45a4591b53459e21217dc9803367a651e5a1c30358a015f27de0b3e719db816b","9ef22bee37885193b9fae7f4cad9502542c12c7fe16afe61e826cdd822643d84","b0451895b894c102eed19d50bd5fcb3afd116097f77a7d83625624fafcca8939","bce17120b679ff4f1be70f5fe5c56044e07ed45f1e555db6486c6ded8e1da1c8","7590477bfa2e309e677ff7f31cb466f377fcd0e10a72950439c3203175309958","3f9ebd554335d2c4c4e7dc67af342d37dc8f2938afa64605d8a93236022cc8a5","1c077c9f6c0bc02a36207994a6e92a8fbf72d017c4567f640b52bf32984d2392","600b42323925b32902b17563654405968aa12ee39e665f83987b7759224cc317","32c8f85f6b4e145537dfe61b94ddd98b47dbdd1d37dc4b7042a8d969cd63a1aa","2426ed0e9982c3d734a6896b697adf5ae93d634b73eb15b48da8106634f6d911","057431f69d565fb44c246f9f64eac09cf309a9af7afb97e588ebef19cc33c779","960d026ca8bf27a8f7a3920ee50438b50ec913d635aa92542ca07558f9c59eca","14aaa5b8938496377d38e90d2b6f8cb1eabf8fe1ffb86e29233ab14977afd178","252eb4750d0439d1674ad0dc30d2a2a3e4655e08ad9e58a7e236b21e78d1d540","e344b4a389bb2dfa98f144f3f195387a02b6bdb69deed4a96d16cc283c567778","c6cdcd12d577032b84eed1de4d2de2ae343463701a25961b202cff93989439fb","2f4f96af192dc44a12bf238bcc08ebac498c9073f459740f6497fe0f8e1a432c","c5b3da7e2ecd5968f723282aba49d8d1a2e178d0afe48998dad93f81e2724091","efd2860dc74358ffa01d3de4c8fa2f966ae52c13c12b41ad931c078151b36601","09acacae732e3cc67a6415026cfae979ebe900905500147a629837b790a366b3","72154a9d896b0a0aed69fd2a58aa5aa8ab526078a65ff92f0d3c2237e9992610","99236ea5c4c583082975823fd19bcce6a44963c5c894e20384bc72e7eccf9b03","f6688a02946a3f7490aa9e26d76d1c97a388e42e77388cbab010b69982c86e9e","b027979b9e4e83be23db2d81e01d973b91fefe677feb93823486a83762f65012","6a0e86cffd870740e729a9ad97ce2501c6f67b48d5bd4d23e27b3a5a890355bc","2d2ec3235e01474f45a68f28cf826c2f5228b79f7d474d12ca3604cdcfdac80c","6dd249868034c0434e170ba6e0451d67a0c98e5a74fd57a7999174ee22a0fa7b","9716553c72caf4ff992be810e650707924ec6962f6812bd3fbdb9ac3544fd38f","506bc8f4d2d639bebb120e18d3752ddeee11321fd1070ad2ce05612753c628d6","053c51bbc32db54be396654ab5ecd03a66118d64102ac9e22e950059bc862a5e","1977f62a560f3b0fc824281fd027a97ce06c4b2d47b408f3a439c29f1e9f7e10","627570f2487bd8d899dd4f36ecb20fe0eb2f8c379eff297e24caba0c985a6c43","0f6e0b1a1deb1ab297103955c8cd3797d18f0f7f7d30048ae73ba7c9fb5a1d89","0a051f254f9a16cdde942571baab358018386830fed9bdfff42478e38ba641ce","17269f8dfc30c4846ab7d8b5d3c97ac76f50f33de96f996b9bf974d817ed025b","9e82194af3a7d314ccbc64bb94bfb62f4bfea047db3422a7f6c5caf2d06540a9","083d6f3547ccbf25dfa37b950c50bee6691ed5c42107f038cc324dbca1e173ae","952a9eab21103b79b7a6cca8ad970c3872883aa71273f540285cad360c35da40","8ba48776335db39e0329018c04486907069f3d7ee06ce8b1a6134b7d745271cc","e6d5809e52ed7ef1860d1c483e005d1f71bab36772ef0fd80d5df6db1da0e815","893e5cfbae9ed690b75b8b2118b140665e08d182ed8531e1363ec050905e6cb2","6ae7c7ada66314a0c3acfbf6f6edf379a12106d8d6a1a15bd35bd803908f2c31","e4b1e912737472765e6d2264b8721995f86a463a1225f5e2a27f783ecc013a7b","97146bbe9e6b1aab070510a45976faaf37724c747a42d08563aeae7ba0334b4f","c40d552bd2a4644b0617ec2f0f1c58618a25d098d2d4aa7c65fb446f3c305b54","09e64dea2925f3a0ef972d7c11e7fa75fec4c0824e9383db23eacf17b368532f","424ddba00938bb9ae68138f1d03c669f43556fc3e9448ed676866c864ca3f1d6","a0fe12181346c8404aab9d9a938360133b770a0c08b75a2fce967d77ca4b543f","3cc6eb7935ff45d7628b93bb6aaf1a32e8cb3b24287f9e75694b607484b377b3","ced02e78a2e10f89f4d70440d0a8de952a5946623519c54747bc84214d644bac","efd463021ccc91579ed8ae62584176baab2cd407c555c69214152480531a2072","29647c3b79320cfeecb5862e1f79220e059b26db2be52ea256df9cf9203fb401","e8cdefd2dc293cb4866ee8f04368e7001884650bb0f43357c4fe044cc2e1674f","582a3578ebba9238eb0c5d30b4d231356d3e8116fea497119920208fb48ccf85","185eae4a1e8a54e38f36cd6681cfa54c975a2fc3bc2ba6a39bf8163fac85188d","0c0a02625cf59a0c7be595ccc270904042bea523518299b754c705f76d2a6919","c44fc1bbdb5d1c8025073cb7c5eab553aa02c069235a1fc4613cd096d578ab80","cee72255e129896f0240ceb58c22e207b83d2cc81d8446190d1b4ef9b507ccd6","3b54670e11a8d3512f87e46645aa9c83ae93afead4a302299a192ac5458aa586","c2fc4d3a130e9dc0e40f7e7d192ef2494a39c37da88b5454c8adf143623e5979","2e693158fc1eedba3a5766e032d3620c0e9c8ad0418e4769be8a0f103fdb52cd","516275ccf3e66dc391533afd4d326c44dd750345b68bb573fc592e4e4b74545f","07c342622568693847f6cb898679402dd19740f815fd43bec996daf24a1e2b85","a5d065581406bf8a699e4980e7cccb5ae1bbb9623f6737ec7e96beaa3d5684e7","a8aa39794fafe452870fad67667a073125440adc0ea0aad2fd202fd497f730f8","89968316b7069339433bd42d53fe56df98b6990783dfe00c9513fb4bd01c2a1c","a4096686f982f6977433ee9759ecbef49da29d7e6a5d8278f0fbc7b9f70fce12","62e62a477c56cda719013606616dd856cfdc37c60448d0feb53654860d3113bb","207c107dd2bd23fa9febac2fe05c7c72cdac02c3f57003ab2e1c6794a6db0c05","55133e906c4ddabecdfcbc6a2efd4536a3ac47a8fa0a3fe6d0b918cac882e0d4","2147f8d114cf58c05106c3dccea9924d069c69508b5980ed4011d2b648af2ffe","2eb4012a758b9a7ba9121951d7c4b9f103fe2fc626f13bec3e29037bb9420dc6","fe61f001bd4bd0a374daa75a2ba6d1bb12c849060a607593a3d9a44e6b1df590","cfe8221c909ad721b3da6080570553dea2f0e729afbdbcf2c141252cf22f39b5","34e89249b6d840032b9acdec61d136877f84f2cd3e3980355b8a18f119809956","6f36ff8f8a898184277e7c6e3bf6126f91c7a8b6a841f5b5e6cb415cfc34820e","4b6378c9b1b3a2521316c96f5c777e32a1b14d05b034ccd223499e26de8a379c","07be5ae9bf5a51f3d98ffcfacf7de2fe4842a7e5016f741e9fad165bb929be93","cb1b37eda1afc730d2909a0f62cac4a256276d5e62fea36db1473981a5a65ab1","195f855b39c8a6e50eb1f37d8f794fbd98e41199dffbc98bf629506b6def73d7","471386a0a7e4eb88c260bdde4c627e634a772bf22f830c4ec1dad823154fd6f5","108314a60f3cb2454f2d889c1fb8b3826795399e5d92e87b2918f14d70c01e69","d75cc838286d6b1260f0968557cd5f28495d7341c02ac93989fb5096deddfb47","d531dc11bb3a8a577bd9ff83e12638098bfc9e0856b25852b91aac70b0887f2a","19968b998a2ab7dfd39de0c942fc738b2b610895843fec25477bc393687babd8","c0e6319f0839d76beed6e37b45ec4bb80b394d836db308ae9db4dea0fe8a9297","1a7b11be5c442dab3f4af9faf20402798fddf1d3c904f7b310f05d91423ba870","079d3f1ddcaf6c0ff28cfc7851b0ce79fcd694b3590afa6b8efa6d1656216924","2c817fa37b3d2aa72f01ce4d3f93413a7fbdecafe1b9fb7bd7baaa1bbd46eb08","682203aed293a0986cc2fccc6321d862742b48d7359118ac8f36b290d28920d2","7406d75a4761b34ce126f099eafe6643b929522e9696e5db5043f4e5c74a9e40","7e9c4e62351e3af1e5e49e88ebb1384467c9cd7a03c132a3b96842ccdc8045c4","ea1f9c60a912065c08e0876bd9500e8fa194738855effb4c7962f1bfb9b1da86","903f34c920e699dacbc483780b45d1f1edcb1ebf4b585a999ece78e403bb2db3","100ebfd0470433805c43be5ae377b7a15f56b5d7181c314c21789c4fe9789595","12533f60d36d03d3cf48d91dc0b1d585f530e4c9818a4d695f672f2901a74a86","21d9968dad7a7f021080167d874b718197a60535418e240389d0b651dd8110e7","2ef7349b243bce723d67901991d5ad0dfc534da994af61c7c172a99ff599e135","fa103f65225a4b42576ae02d17604b02330aea35b8aaf889a8423d38c18fa253","1b9173f64a1eaee88fa0c66ab4af8474e3c9741e0b0bd1d83bfca6f0574b6025","1b212f0159d984162b3e567678e377f522d7bee4d02ada1cc770549c51087170","46bd71615bdf9bfa8499b9cfce52da03507f7140c93866805d04155fa19caa1b","86cb49eb242fe19c5572f58624354ffb8743ff0f4522428ebcabc9d54a837c73","fc2fb9f11e930479d03430ee5b6588c3788695372b0ab42599f3ec7e78c0f6d5","bb1e5cf70d99c277c9f1fe7a216b527dd6bd2f26b307a8ab65d24248fb3319f5","817547eacf93922e22570ba411f23e9164544dead83e379c7ae9c1cfc700c2cf","a728478cb11ab09a46e664c0782610d7dd5c9db3f9a249f002c92918ca0308f7","9e91ef9c3e057d6d9df8bcbfbba0207e83ef9ab98aa302cf9223e81e32fdfe8d","66d30ef7f307f95b3f9c4f97e6c1a5e4c462703de03f2f81aca8a1a2f8739dbd","293ca178fd6c23ed33050052c6544c9d630f9d3b11d42c36aa86218472129243","90a4be0e17ba5824558c38c93894e7f480b3adf5edd1fe04877ab56c56111595","fadd55cddab059940934df39ce2689d37110cfe37cc6775f06b0e8decf3092d7","91324fe0902334523537221b6c0bef83901761cfd3bd1f140c9036fa6710fa2b","b4f3b4e20e2193179481ab325b8bd0871b986e1e8a8ed2961ce020c2dba7c02d","41744c67366a0482db029a21f0df4b52cd6f1c85cbc426b981b83b378ccb6e65","c3f3cf7561dd31867635c22f3c47c8491af4cfa3758c53e822a136828fc24e5d","a88ddea30fae38aa071a43b43205312dc5ff86f9e21d85ba26b14690dc19d95e","b5b2d0510e5455234016bbbaba3839ca21adbc715d1b9c3d6dede7d411a28545","5515f17f45c6aafe6459afa3318bba040cb466a8d91617041566808a5fd77a44","4df1f0c17953b0450aa988c9930061f8861b114e1649e1a16cfd70c5cbdf8d83","441104b363d80fe57eb79a50d495e0b7e3ebeb45a5f0d1a4067d71ef75e8fbfa","d3a03891967c080808215fb3edc6b6805bcb081205c3f55dbfd4a57e0f0a6550","18a47c8cddfd26a1e3c0662218fa40efe75be3e30eab2e39acc62b9fe04010f5","24d2452994c2b68738dd1f1695f5d2941d73854818704c451e6f5dad844ba2ce","e90081ae563c179c1f056813854070af982fe56f7b6dcfd3ac19f56a898e18e1","68d30ebcf6349e03e0c313f9354eb2b7b671d63a535580083997efd31e677ac1","ededdfd7c0e420fc2d25564e279305e391db3aa15b8300ccfbd68b0db955274e","2af2718485abb45bc27c3277d66e74d5b3d43fe543017d712961593b724143d6","7cce94f88c6011382bbc3c5411a70e0ba9ce683d2782dafa92e8e033e2afe8cc","eb7207317db335f4ad5661269f296ab5a14d75e3f9085c8e49d7502fb45e97bf","cf67e3ab470da6609f0ad9d6cf944bf85f8f0437ca8abacd2b91539df4d7a4f2","ee5a917c9906cd8ea9cb2a3a32a0ac211065c29f75d30e6479a37e8bf7da156a","f21ce049835dad382b22691fb6b34076d0717307d46d92320893765be010cd56","f9dde32db91333410f58a2126eb93daa02fdca048ab624c8689020e9c10315f4","285f91445a192dbcb3af20f095f61ea7090c4c4ba078db3bf7cbaadb9cd36e58","d8f75036a2a39d10dc4c4e1546e5df4fed0110f86e3634594881cc0b0b5f85b7","1da2c4e9e5b0ef664830fc51e7f528782c00adf719e6bc3b46b7ab9b0907a996","665f83fc3e9992c7a5e15a470e4b9e10e8b588c35593b0058c8d1a9eca487c56","4720e2e9ab8fddcb4d7e01834e1f5f87dc4a6f0dde2433c47ccbb1a49b0a8db4","da362b7f98497abb765d4ce3970ba009dd8dc1911de9e448cd1c2b3b45d1d320","9d81c9fd8a675398f8d54dede89a02babeadcd3c35ed8e2d5d9d861efc62dfc1","5cdf4811047cfbe9d0a919569ba2019c2f8853713ee7c3da5ccde558b0975bd3","34543784d3993269d167c3661201103c1bbc345c967838e61b842c30996da4e0","01ba761ce6d75a4142858a053f45d64d255e057049ab1cc4d9a93e76b8b5c444","4eb8d24407a258900df22b345b9aa14887a4eda2a499b07aeff6a847e39a83da","610850279849d1c9e0f7de92d9241319a24cb7502d91659482fe5af9f1386b12","8dfafd9767f1fc617271455ab47658d386cce945de776de3612a91e43fec33cf","c857b5f94427f9d663a4d92e2f792c7b6363e41b41c5ebd32d231f01550b386d","4b9c93a83255d603fa4d857aac95257462cde204c7266b552650a18e700c1d46","06d8af96b18c5ee90ba066e5d6814a1af3cfa7667986fdecd520599c5b2ed030","2e522780639e1a181adf94d3596a6669570c36fd635563753f05853da790dc46","c6e3bad7e7eb479c2b3862dd998ba288a97ffda44cb3797bc20d3eb5bc0a6cad","b32ded887b679b39ffc83b0e8ff0c1f6722d7e847234a18b2c2158129c58aeb3","67b3ddf3a4ceddeeeb59a1c6d0003220a6d5d24a118a91046108e1d60b424e12","e5d2f32f61581a9e54404f1918c9a9f6911f89a6efd535bf3c4d41f3f84d8802","fea13cbc4da2a22aad4d71b15c73854a6a801fa8038293eb7f4783884ff5af70","8f1241f5d9f0d3d72117768b3c974e462840fbd85026fb66685078945404cf2f","a2e465615a48b402ecff48f71054408cc86fefc452626c3cf1aa1044ca4fa92d","08e0b0ca079e4dc00bd45aab20e50eba0013987fb2c6bc2571dc38780a2a536b","db03aaad464753ce21050e929bea736c8830e15ac30f02f23b9f01e68df34d20","c197ed35ed2bf95e3ee4458d738f24e99957d34ec6fb1bba11d59772ddd237e4","6e731f8fb0015089cf01a4a97c7707a27045687bdbb8b06dbcc08dae3305f79b","73b71285cff838d4a07d0ba67b9eb4327bd6ef1a9ae7b6b79aa86bdabadef1ba","ed1ee94c938a8d786d45933c1eff63bbbeb923bb2f5b1718a55e7c62a141ef1d","1284f840074c71def94d2ce8a7a2e2faeb1e1494d231edc7153f2a6efcc24d6a","2f23087f619d91c16063056c9d09bdcb1f206e14afde991d9aa9cbf080c21724","128d5e5125034157c26a798ad29434a36520d6033abcfdcd958805fa84ed18b6","5c922bf5e9eec69b48354c2f72e0000143f81279bcd5f7e9dc06bfc4ef032527","a790fb91cb2979a7ff9bd05ca512b0aab013b38fa7ac12067ec2af2fa17fbe97","0b9278a12cbbdcc296673563a49617bdcff8879062beb5b4d5b5492f7ad54e27","27db6aeeff19165938807247884add9777f4a5fcfde4f6394b92dd55041239a1","bf32a34d5d46b2218b942bef018d6b750fcddbea5d5d3c1c086a55cf47d3a06f","3c2afe60dd761d9c7aef1df5bceb027d31f7e7a7513829e0c7349fabb2e04b76","a5f9daf39ff39877abe976455cf969f307560fb25db5da3c2aa5f275720b2d64","52398edef08fb26610f558031c037514ea55372d2f58df3135540d42eb49df01","77fda1a0cf76895ef5929b2be1ec911957f774ccb55cc176f981b23cc171fb1e","f2a60d253f7206372203b736144906bf135762100a2b3d1b415776ebf6575d07","21fa352a9251cb31f5b0733843c6dae3b01702f169089157966f7e6c4794e820","62c8d20ac6bfe92ce45d517161d099bec34eb2ccb9dc1e58ee8c4c969acf6889","69000035da9de1725651c045dff517cd86cec3540f1e92d92eab540ac111227d","ae27bfe178a142809dcf21004f6279088e61dfaa63e3f21bf3aa88e1b3c7e2de","2bff984ef483f1ecf96a7c521dbd001948604c08b3eb032bc35d5d8a06e49755","602e3212a54b44aff9e8fb900f84a1aa1009559fa9d345012ba7b4fd4ae36055","a3584d3d2e6c3dd952e49f9925c25b2e31e54dd04eed99a18a4a4197c0adef42","453d1b48d23683541430903678d179e5742b762b25f45e50d213c20f077963da","4ced413f256fa571a90261e4c4250a09ff3ec8d239c125b926ed29277a7a4da6","03b2199018d5989cfb2e06082e82a7717bfa033165311e07e3823fb05e21cbe5","1b23c775f8337e49b4de051623d64da9320328bd8edfc1d84ba1ce36466484f5","cde878c0c7c0543fe857683c5a50133d2629d4dd55d95e52dea56a2deb6f9589","a180c42899d7e7f90a7e96c7fdd257bfc308d842afbe880092f23d778c81af93","3470e7a0574be17eb0e65de65c154544cbfc5da67440182898d7607e8238baa0","8bfaba6bbbcdc58edbda06d2337b099357ecc26c139209187f278ce99ce0c9ee","06b03300e2dc3b7570a5756d237c2f645a31b1f6087dfe18eaeb0d923d6bb719","2bad09c4dc0810666ef5b6150aa910dd711051ce5f2184050c9859c708092a36","eece99a6cf69ff45c5d4f9e0bfb6450f5c57878d048ff01a6a6343cf87e98230","f7ab1fe738bbe7fdd1e9bc9887f55ac0d7eda0d234a7eb35c77304430f7d6715","1f763e81e71ac8ce0dd1b82e67cd9d1d2e56e77c844b46349e1623c82df9b130","1a9c0db9d65449e9dbcbf23baa3b8bfa48806cddb2adc5e172eb8eff5afbb702","4dffcfc24d378d52ade01a1ae0c5baf6dc7a50c35f8302be34f06b9eaa5798ce","90011389e92f8b8f8f6a10b03e4c9f2b966d248538a0258d03239127a01e24ab","3f2b3c5d3f5fd9e254046b9bf83da37babd1935776c97a5ffc1acfce0da0081e","8f1241f5d9f0d3d72117768b3c974e462840fbd85026fb66685078945404cf2f","1eaf4347cc8fc9c18d0c40b6b0973d5aad411ef9a0380a98ca37bd5fca375284","229c0b8724ccf6f1bab1503ea7a4f49cc14ff299338783afe3f8f1a2a2034c4b","1a2de388e81c4119cb30109fa3676dd451e4789ed2dce83aaa37446cae6384d0","2579b4c930b51e90de62f9f8673064147d3db2a7453042a00b8114b3e97b7d41","5d90e24e5c4c0f6e2350b6ddd85111cdc9dcecd49a0431b2ce2524026eba1a3e","61c7eefbcf2d4700630f2ea2cc6dc8732c4595165af11108638443d5ef93c062","51c5a7ba3aa334ef86e870ec1ce042343cecbdf410c9707cd12a5088984aade2","4489c6a9fde8934733aa7df6f7911461ee6e9e4ad092736bd416f6b2cc20b2c6","2c8e55457aaf4902941dfdba4061935922e8ee6e120539c9801cd7b400fae050","8041cfce439ff29d339742389de04c136e3029d6b1817f07b2d7fcbfb7534990","670a76db379b27c8ff42f1ba927828a22862e2ab0b0908e38b671f0e912cc5ed","9d38964b57191567a14b396422c87488cecd48f405c642daa734159875ee81d9","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","2174e20517788d2a1379fc0aaacd87899a70f9e0197b4295edabfe75c4db03d8","0dc6940ff35d845686a118ee7384713a84024d60ef26f25a2f87992ec7ddbd64",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","044851e9685b94a0c56bfd7f499b8be4c281e7dc024d1a715a5f9a4598bbf337","1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","035a5df183489c2e22f3cf59fc1ed2b043d27f357eecc0eb8d8e840059d44245","a4809f4d92317535e6b22b01019437030077a76fec1d93b9881c9ed4738fcc54","5f53fa0bd22096d2a78533f94e02c899143b8f0f9891a46965294ee8b91a9434","cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec",{"version":"5ab630d466ac55baa6d32820378098404fc18ba9da6f7bc5df30c5dbb1cffae8","affectsGlobalScope":true},"0e60e0cbf2283adfd5a15430ae548cd2f662d581b5da6ecd98220203e7067c70","b0f9ef6423d6b29dde29fd60d83d215796b2c1b76bfca28ac374ae18702cfb8e","125f8b85a7606a76f7f239e192d0c5951ec0805b03814271c0ffedae9524d75e","e3c0abd559a23148319fdff7c4baa4c294ddfb7bd1435442926a170794fc8d4e","37da3671586f0270f6b0772348f39a6e637a0ca9faf2a5dba0791df74ae8de6b","e91ad231af87f864b3f07cd0e39b1cf6c133988156f087c1c3ccb0a5491c9115","03c258e060b7da220973f84b89615e4e9850e9b5d30b3a8e4840b3e3268ae8eb","319c37263037e8d9481a3dc7eadf6afa6a5f5c002189ebe28776ac1a62a38e15","cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","ab82804a14454734010dcdcd43f564ff7b0389bee4c5692eec76ff5b30d4cf66","6dd20f5b39d29f0dabf7798cdbf772c03c5d6721e60a09e7706afddf5599fad9","2f0bdc82a81caabe88fb5d1f450c2999d29314faa0cb451d10db47cf15a8ef69","da318e126ac39362c899829547cc8ee24fa3e8328b52cdd27e34173cf19c7941","24bd01a91f187b22456c7171c07dbf44f3ad57ebd50735aab5c13fa23d7114b4","4738eefeaaba4d4288a08c1c226a76086095a4d5bcc7826d2564e7c29da47671","dbec715e9e82df297e49e3ed0029f6151aa40517ebfd6fcdba277a8a2e1d3a1b","b41acc03ca470ecdedc6bf211bc8fdc6cafe2f6ab68b75949aad8eaf9df71912","8f75e211a2e83ff216eb66330790fb6412dcda2feb60c4f165c903cf375633ee","5adcc724bcfdac3c86ace088e93e1ee605cbe986be5e63ddf04d05b4afdeee71","a9155c6deffc2f6a69e69dc12f0950ba1b4db03b3d26ab7a523efc89149ce979","c99faf0d7cb755b0424a743ea0cbf195606bf6cd023b5d10082dba8d3714673c","21942c5a654cc18ffc2e1e063c8328aca3b127bbf259c4e97906d4696e3fa915","bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","5d30d04a14ed8527ac5d654dc345a4db11b593334c11a65efb6e4facc5484a0e","74d5a87c3616cd5d8691059d531504403aa857e09cbaecb1c64dfb9ace0db185"],"root":[491,492,[922,941],1035,1046,1056,1057,[1059,1069],[1081,1098],[1136,1146],[1148,1157],[1324,1332],1334,1345,[1347,1349],[1360,1378],[1380,1395],[1405,1411]],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"experimentalDecorators":true,"module":1,"noFallthroughCasesInSwitch":false,"noImplicitAny":false,"outDir":"./","removeComments":true,"skipLibCheck":true,"sourceMap":true,"strictBindCallApply":false,"strictNullChecks":false,"target":8},"fileIdsList":[[1412],[1431],[1070,1071,1072,1074,1075,1076,1077,1078],[395,490,1071,1072],[1071],[1070],[376],[490,1071,1073],[1071,1076,1077],[1079],[395],[490],[58,396,397,398,399,400,401,402,403,404,405,406,407,408],[261,382],[268],[258,395,490],[413,414,415,416,417,418,419,420],[263],[395,490],[409,412,421],[410,411],[386],[263,264,265,266],[423],[281],[423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444],[451],[446,447],[357,376,448,450],[57,267,395,422,445,450,452,459,482,487,489],[63,261],[62],[63,253,254,973,978],[253,261],[62,252],[261,461],[255,463],[252,256],[62,395],[260,261],[273],[275,276,277,278,279],[267],[267,268,283,287],[281,282,288,289,377],[59,60,61,62,63,253,254,255,256,257,258,259,260,261,262,268,273,274,280,287,378,379,380,382,390,391,392,393,394],[286],[269,270,271,272],[261,269,270],[261,267,268],[261,271],[261,386],[381,383,384,385,386,387,388,389],[59,261],[382],[59,261,381,385,387],[270],[383],[261,382,383,384],[285],[261,265,285,390],[283,284,286],[257,259,268,274,283,288,391,392,395],[63,257,259,262,391,392],[266],[252],[285,395,453,457],[457,458],[395,453],[395,453,454],[454,455],[454,455,456],[262],[474,475],[474],[475,476,477,478,479,480],[473],[465,475],[475,476,477,478,479],[262,474,475,478],[460,466,467,468,469,470,471,472,481],[262,395,466],[262,465],[262,465,490],[255,261,262,461,462,463,464,465],[252,395,461,462,483],[395,461],[485],[422,483],[483,484,486],[285,449],[381],[267,395],[488],[283,287,395,490],[942],[395,490,962,963],[944],[490,956,961,962],[966,967],[63,395,957,962,976],[490,943,969],[62,490,970,973],[395,957,962,964,975,977,981],[62,979,980],[970],[252,395,490,984],[395,490,957,962,964,976],[983,985,986],[395,962],[962],[395,490,984],[62,395,490],[395,490,956,957,962,982,984,987,990,995,996,1009,1010],[969,972,1011],[996,1008],[57,943,964,965,968,971,1003,1008,1012,1015,1019,1020,1021,1023,1025,1031,1033],[395,490,950,958,961,962],[395,954],[395,490,944,953,954,955,956,961,962,964,1034],[956,957,960,962,998,1007],[395,490,949,961,962],[997],[490,957,962],[490,950,957,961,1002],[395,490,944,949,961],[490,955,956,960,1000,1004,1005,1006],[490,950,957,958,959,961,962],[261,490],[395,944,957,960,962],[961],[946,947,948,957,961,962,1001],[953,1002,1013,1014],[490,944,962],[490,944],[945,946,947,948,951,953],[950],[952,953],[490,945,946,947,948,951,952],[988,989],[395,957,962,964,976],[999],[379],[273,395,1016,1017],[1018],[395,964],[395,957,964],[286,395,490,950,957,958,959,961,962],[283,285,395,490,943,957,964,1002,1020],[286,287,490,942,1022],[992,993,994],[490,991],[1024],[356,376,490],[1027,1029,1030],[1026],[1028],[490,956,961,1027],[974],[395,490,944,957,961,962,964,999,1000,1002,1003],[1032],[1047,1049,1050,1051,1052],[1048],[376,490,1047],[490,1048],[376,1047,1049],[1053],[1396,1398,1399,1400,1401,1402],[490,1396,1397],[1403],[283,287,342,344,376,395,490,942,1099,1100,1101],[1102],[1103,1105,1116],[1099,1100,1104],[342,344,376,490,1040,1045,1099,1100,1101],[342,376],[1112,1114,1115],[490,1106],[1107,1108,1109,1110,1111],[395,1106],[1113],[490,1113],[1350,1351,1352,1353,1354,1355,1356,1357],[1034,1350],[1034,1350,1351],[490,1034,1350,1351],[1358],[490,885,886],[885,886],[885],[899],[490,885],[883,884,887,888,889,890,891,892,893,894,895,896,897,898,900,901,902,903,904,905],[885,910],[57,906,910,911,912,917,919],[885,908,909],[885,907],[490,910],[913,914,915,916],[918],[920],[875,876],[490,873,874],[252,490,873,874],[877,879,880],[873],[878],[490,873],[490,873,874,878],[881],[1412,1413,1414,1415,1416],[1412,1414],[342,376,1043],[1421,1423],[1420,1421,1422],[339,342,376,1037,1038,1039],[1038,1040,1042,1044],[340,376],[1426],[1427],[1433,1436],[332,376],[1440],[357,1045],[290],[326],[327,332,360],[328,339,340,347,357,368],[328,329,339,347],[330,369],[331,332,340,348],[332,357,365],[333,335,339,347],[326,334],[335,336],[339],[337,339],[326,339],[339,340,341,357,368],[339,340,341,354,357,360],[324,327,373],[335,339,342,347,357,368],[339,340,342,343,347,357,365,368],[342,344,357,365,368],[290,291,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375],[339,345],[346,368,373],[335,339,347,357],[348],[349],[326,350],[351,367,373],[352],[353],[339,354,355],[354,356,369,371],[327,339,357,358,359,360],[327,357,359],[357,358],[360],[361],[326,357],[339,363,364],[363,364],[332,347,357,365],[366],[347,367],[327,342,353,368],[332,369],[357,370],[346,371],[372],[327,332,339,341,350,357,368,371,373],[357,374],[357,376],[340,342,344,347,357,368,376,1418,1443,1444],[342,357,376],[1446,1485],[1446,1470,1485],[1485],[1446],[1446,1471,1485],[1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484],[1471,1485],[340,357,376,1036],[342,376,1036,1041],[1493],[1419,1439,1487,1489,1494],[343,347,357,365,376],[327,340,342,343,344,347,357,1439,1488,1489,1490,1491,1492],[342,357,1493],[327,340,1488,1489],[368,1488],[1494,1495,1496,1497],[1494,1495,1498],[1494,1495],[342,343,347,1439,1494],[1218,1219,1220,1221,1222,1223,1224,1225,1226],[1499],[339,357,376],[1336,1337,1338],[1338,1339,1340],[1338],[1338,1339,1340,1341,1342],[1174],[1176,1177,1178,1179,1180,1181,1182],[1165],[1166,1174,1175,1183],[1167],[1161],[1158,1159,1160,1161,1162,1163,1164,1167,1168,1169,1170,1171,1172,1173],[1166,1168],[1169,1174],[1190],[1189,1190,1195],[1191,1192,1193,1194,1196,1197,1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314],[1190,1227],[1190,1267],[1189],[1185,1186,1187,1188,1189,1190,1195,1315,1316,1317,1318,1322],[1195],[1187,1320,1321],[1189,1319],[1190,1195],[1185,1186],[1336],[368,376],[1429,1435],[1433],[1430,1434],[1266],[1432],[328,357,376,1335,1336,1337,1343],[64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,120,121,122,123,124,125,126,127,128,129,130,131,133,134,135,136,137,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,183,184,185,187,196,198,199,200,201,202,203,205,206,208,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251],[109],[65,68],[67],[67,68],[64,65,66,68],[65,67,68,225],[68],[64,67,109],[67,68,225],[67,233],[65,67,68],[77],[100],[121],[67,68,109],[68,116],[67,68,109,127],[67,68,127],[68,168],[68,109],[64,68,186],[64,68,187],[209],[193,195],[204],[193],[64,68,186,193,194],[186,187,195],[207],[64,68,193,194,195],[66,67,68],[64,68],[65,67,187,188,189,190],[109,187,188,189,190],[187,189],[67,188,189,191,192,196],[64,67],[68,211],[69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,111,112,113,114,115,117,118,119,120,121,122,123,124,125,126,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184],[197],[554,674],[499,873],[557],[662],[658,662],[658],[514,550,551,552,553,555,556,662],[499,500,509,514,551,555,558,562,593,610,611,613,615,619,620,621,622,658,659,660,661,667,674,693],[624,626,628,629,639,641,642,643,644,645,646,647,649,651,652,653,654,657],[503,505,506,536,775,776,777,778,779,780],[506],[503,506],[784,785,786],[793],[503,791],[821],[809],[550],[808],[504],[503,504,505],[542],[538],[503],[494,495,496],[535],[494],[503,504],[539,540],[497,499],[693],[664,665],[495],[828],[557,648],[365],[557,558,623],[495,496,503,509,511,513,527,528,529,532,533,557,558,560,561,667,673,674],[557,568],[511,513,531,558,560,567,568,582,595,599,603,610,662,671,673,674],[335,347,365,566,567],[557,558,625],[557,640],[557,558,627],[557,650],[558,655,656],[530],[630,631,632,633,634,635,636,637],[557,558,638],[499,500,509,568,570,574,575,576,577,578,605,607,608,609,611,613,614,615,617,618,620,662,674,693],[500,509,527,568,571,575,579,580,604,605,607,608,609,619,662,667],[619,662,674],[549],[503,504,536],[534,537,541,542,543,544,545,546,547,548,873],[493,494,495,496,500,538,539,540],[710],[667,710],[503,527,553,710],[500,710],[622,710],[710,711,712,715,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,765,766,767,768,769,770,771,772,773],[516,710],[516,667,710],[710,714],[562,710],[565],[574],[563,570,571,572,573],[504,509,564],[568],[509,574,575,612,667,693],[565,568,569],[579],[509,574],[565,569],[509,565],[499,500,509,610,611,613,619,620,658,659,662,693,705,706],[57,497,499,500,503,504,506,509,510,511,512,513,514,534,535,537,538,540,541,542,549,550,551,552,553,556,558,559,560,562,563,564,565,568,569,570,571,572,573,574,575,576,577,578,581,582,583,584,585,586,587,588,589,590,591,593,596,599,600,603,606,607,608,609,610,611,612,613,619,620,621,622,658,662,667,670,671,672,673,674,684,685,686,687,689,690,691,692,693,706,707,708,709,774,781,782,783,787,788,789,790,792,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,822,823,824,825,826,827,829,830,831,832,833,834,835,836,837,838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,860,861,862,863,864,865,866,867,868,870,872],[551,552,674],[551,674,854],[551,552,674,854],[674],[551],[506,507],[521],[500],[696],[502,508,517,518,522,524,597,601,663,666,668,694,695,696,697,698,699,700,701,702,703,704],[493,497,498,501],[542,543,873],[514,597,667],[503,504,508,509,516,526,662,667],[516,517,519,520,523,525,527,662,667,669],[509,521,522,526,667],[509,515,516,519,520,523,525,526,527,542,543,598,602,662,663,664,665,666,669,873],[514,601,667],[494,495,496,514,527,667],[514,526,527,667,668],[516,667,693,694],[509,516,518,667,693],[493,494,495,496,498,502,509,515,526,527,667],[527],[494,514,524,526,527,667],[621],[622,662,674],[514,673],[514,866],[513,673],[509,516,527,667,713],[516,527,714],[339,340,357],[667],[685],[500,509,609,662,674,684,685,692],[561],[500,509,527,605,607,616,692],[516,662,667,676,683],[684],[500,509,527,562,605,662,667,674,675,676,682,683,684,686,687,688,689,690,691,693],[509,516,527,542,561,662,667,675,676,677,678,679,680,681,682,692],[509],[516,667,683,693],[509,516,662,674,693],[509,692],[606],[509,606],[500,509,516,542,567,570,571,572,573,575,667,674,680,681,683,684,685,692],[500,509,542,608,662,674,684,685,692],[509,667],[509,542,605,608,662,674,684,685,692],[509,684],[509,511,513,531,558,560,567,582,595,599,603,606,615,619,662,671,673],[499,509,613,619,620,693],[500,568,570,574,575,576,577,578,605,607,608,609,617,618,620,693,859],[509,568,574,575,579,580,610,620,674,693],[500,509,568,570,574,575,576,577,578,605,607,608,609,617,618,619,674,693,873],[509,612,620,693],[561,616],[510,559,581,596,600,670],[510,527,531,532,662,667,674],[531],[511,560,562,582,599,603,667,671,672],[596,598],[510],[600,602],[515,559,562],[669,670],[525,581],[512,873],[509,516,527,593,594,667,674],[583,584,585,586,587,588,589,590,591,592],[509,619,662,667,674],[619,662,667,674],[587],[509,516,527,619,662,667,674],[511,513,527,530,550,560,565,569,582,599,603,610,659,667,671,673,684,686,687,688,689,690,691,693,714,859,860,861,869],[619,667,871],[301,305,368],[301,357,368],[296],[298,301,365,368],[347,365],[296,376],[298,301,347,368],[293,294,297,300,327,339,357,368],[293,299],[297,301,327,360,368,376],[327,376],[317,327,376],[295,296,376],[301],[295,296,297,298,299,300,301,302,303,305,306,307,308,309,310,311,312,313,314,315,316,318,319,320,321,322,323],[301,308,309],[299,301,309,310],[300],[293,296,301],[301,305,309,310],[305],[299,301,304,368],[293,298,299,301,305,308],[327,357],[296,301,317,327,373,376],[1119,1120,1121,1122,1124,1125,1127,1128,1129,1130,1131,1132,1133,1134],[1123],[1123,1126],[490,921,922,941,1035,1046,1065],[490,882,925,938,939,941,1054,1056,1064,1066],[490,873,882,922,924,938,939,940],[921,922,923],[921],[924,1404],[873,922,923,925,938],[490,491],[349,490,491,492,882,925,926,928,929,931,932,933,934,935,936,937,938,939,1067,1068,1080,1081,1083,1138,1141,1146,1149,1156,1349,1359,1363,1365,1367,1369,1370,1371,1389,1390,1392,1393],[490,941,1034,1035,1064],[490,882,925,938,939,941,1054,1056,1064,1065,1081,1082],[332,490,873,882,922,924,925,939,941,1054,1056,1057,1059,1060,1061,1062,1063],[490,921,922,924,1035,1046,1057,1060,1062,1063,1064,1065,1069,1081],[921,922],[873,939],[939,1045],[490,1055],[1034],[490,1091,1097],[490,882,929,932,933,934,1054,1056,1081,1087,1091,1097,1140],[490,921,1062,1081,1084,1093,1094,1095,1096,1097,1098,1139],[332,490,873,882,922,932,933,934,1054,1056,1059,1061,1062,1081,1084,1091,1094,1095,1096],[873,934],[934,1045],[490,921,922,930,1035,1065,1086,1087],[490,882,925,929,938,939,941,1054,1056,1064,1087,1368],[490,882,929,930,1085,1086],[930],[921,1085],[1058],[349,1058],[490,882,925,926,928,929,931,936,937,938,939,941,1054,1056,1064,1087,1144,1149,1153,1154,1156,1330,1348],[490,873,882,922,923,924,929,930,937,1064,1144,1147,1148,1153],[490,1080],[490,921,1034,1058,1090,1394],[921,936],[921,927,1184,1323],[921,930],[927,929,938],[921,927],[921,1324],[873,936],[873,930,936],[873,926,927,928,929,931,935,938],[490,921,922,930,1035,1046,1065,1093,1098,1136,1324,1327,1328,1330,1360],[490,882,925,928,929,931,932,933,934,936,937,938,939,941,1054,1056,1064,1081,1087,1091,1097,1144,1149,1153,1330,1364],[490,873,882,927,928,929,930,931,935,936,938,1090,1324,1325,1326,1327,1328,1329],[927],[936],[921,1155],[873,926,930],[490,921,922,930,1035,1065,1136,1155,1348,1360],[490,882,925,926,928,931,936,938,939,941,1054,1056,1064,1156,1330,1348,1366],[340,349,490,873,882,926,930,936,1090,1135,1155,1156,1157,1330,1331,1332,1334,1344,1345,1346,1347],[340,349,490,1090,1333],[934,938],[921,1383],[921,1371],[873,934,938,1370],[490,921,930,1093,1098,1371,1384,1385,1386],[490,882,928,929,931,932,933,934,935,936,938,1054,1056,1081,1087,1091,1097,1330,1370,1371,1373,1382,1385,1387,1389],[490,873,882,930,934,935,938,1090,1091,1327,1330,1370,1371,1372,1373,1374,1377,1382,1383,1384],[1374,1375,1376],[1374],[349,490,1117,1118,1135],[873,938],[490,921,1143,1144],[490,882,937,1144,1145],[490,873,882,937,1090,1142,1143],[873,921],[873,930,938],[873,936,937],[490,921,922,1035,1046,1065,1136,1148,1153,1360,1361],[490,882,925,937,938,939,941,1054,1056,1064,1144,1149,1153,1362],[490,873,882,930,938,1090,1144,1148,1149,1150,1151,1152],[921,1372],[873,936,1371],[490,1372,1373],[490,882,936,1370,1371,1373,1391],[490,873,882,936,1370,1371,1372],[873,929,932,933],[490,921,930,1046,1088,1091,1092,1093,1098,1136],[490,882,929,932,933,934,1054,1056,1081,1087,1091,1097,1137],[490,873,882,929,930,934,1084,1087,1088,1089,1090],[921,1378],[873,934,936],[332,340,349,1090,1344,1379,1380],[490,921,1093,1098,1378,1382],[490,882,928,929,931,932,933,934,935,936,938,1054,1056,1081,1087,1091,1097,1330,1370,1382,1385,1388,1390],[490,873,882,930,934,935,936,1090,1091,1330,1370,1378,1381,1385]],"referencedMap":[[1414,1],[1432,2],[1079,3],[1073,4],[1072,5],[1071,6],[1077,5],[1076,7],[1070,5],[1074,8],[1078,9],[1080,10],[396,11],[397,11],[399,12],[409,13],[401,14],[404,11],[405,11],[406,11],[408,15],[416,16],[421,17],[413,18],[414,19],[422,20],[412,21],[411,22],[267,23],[439,24],[424,24],[431,24],[428,24],[441,24],[432,24],[438,24],[423,25],[442,24],[445,26],[436,24],[426,24],[444,24],[429,24],[427,24],[437,24],[433,24],[443,24],[430,24],[440,24],[425,24],[435,24],[434,24],[452,27],[448,28],[451,29],[490,30],[973,31],[63,32],[979,33],[978,34],[253,35],[254,32],[462,36],[464,37],[257,38],[256,39],[259,38],[262,40],[274,41],[280,42],[282,43],[288,44],[378,45],[377,7],[395,46],[1022,47],[273,48],[271,49],[269,50],[270,51],[387,52],[390,53],[383,54],[388,55],[386,56],[389,57],[384,58],[385,59],[286,60],[391,61],[287,62],[393,63],[394,64],[268,65],[392,66],[458,67],[459,68],[454,69],[455,70],[456,71],[457,72],[460,73],[476,74],[475,75],[481,76],[474,77],[477,74],[478,78],[480,79],[479,80],[482,81],[467,82],[468,83],[471,84],[470,84],[469,83],[472,83],[466,85],[484,86],[483,87],[486,88],[485,89],[487,90],[449,60],[450,91],[488,92],[465,93],[489,94],[942,95],[943,96],[964,97],[965,98],[967,99],[968,100],[977,101],[970,102],[974,103],[982,104],[980,12],[981,105],[971,106],[985,107],[986,108],[987,109],[976,110],[972,111],[996,112],[984,113],[1011,114],[969,96],[1012,115],[1009,116],[1010,12],[1034,117],[959,118],[955,119],[957,120],[1008,121],[950,122],[998,123],[958,124],[1005,125],[962,126],[1007,127],[960,128],[954,129],[961,130],[956,131],[1002,132],[1015,133],[1013,12],[945,12],[1001,134],[946,19],[947,98],[948,135],[952,136],[951,137],[1014,138],[953,139],[990,140],[988,107],[989,141],[999,19],[1000,142],[1003,143],[1018,144],[1019,145],[1016,146],[1017,147],[1020,148],[1021,149],[1023,150],[995,151],[992,152],[993,11],[994,141],[1025,153],[1024,154],[1031,155],[963,12],[1027,156],[1026,12],[1029,157],[1030,158],[975,159],[1004,160],[1033,161],[1032,12],[1053,162],[1049,163],[1048,164],[1051,165],[1052,166],[1054,167],[1403,168],[1398,169],[1396,12],[1399,169],[1400,169],[1401,169],[1402,12],[1404,170],[1102,171],[1103,172],[1117,173],[1105,174],[1104,175],[1099,176],[1116,177],[1107,178],[1108,178],[1109,178],[1110,178],[1112,179],[1111,178],[1113,180],[1114,181],[1106,7],[1115,182],[1358,183],[1350,19],[1351,184],[1352,185],[1353,185],[1354,185],[1356,186],[1357,12],[1359,187],[887,188],[893,189],[896,190],[897,188],[900,191],[901,188],[902,192],[903,190],[906,193],[911,194],[920,195],[910,196],[899,192],[908,197],[912,198],[917,199],[913,12],[914,12],[915,12],[916,12],[919,200],[921,201],[877,202],[875,203],[876,204],[881,205],[874,206],[879,207],[878,208],[880,209],[882,210],[1417,211],[1413,1],[1415,212],[1416,1],[1055,7],[1044,213],[1043,176],[1424,214],[1423,215],[1040,216],[1045,217],[1425,218],[1427,219],[1428,220],[1437,221],[1047,222],[1441,223],[1118,224],[290,225],[291,225],[326,226],[327,227],[328,228],[329,229],[330,230],[331,231],[332,232],[333,233],[334,234],[335,235],[336,235],[338,236],[337,237],[339,238],[340,239],[341,240],[325,241],[342,242],[343,243],[344,244],[376,245],[345,246],[346,247],[347,248],[348,249],[349,250],[350,251],[351,252],[352,253],[353,254],[354,255],[355,255],[356,256],[357,257],[359,258],[358,259],[360,260],[361,261],[362,262],[363,263],[364,264],[365,265],[366,266],[367,267],[368,268],[369,269],[370,270],[371,271],[372,272],[373,273],[374,274],[1333,275],[1445,276],[1443,277],[1470,278],[1471,279],[1446,280],[1449,280],[1468,278],[1469,278],[1459,278],[1458,281],[1456,278],[1451,278],[1464,278],[1462,278],[1466,278],[1450,278],[1463,278],[1467,278],[1452,278],[1453,278],[1465,278],[1447,278],[1454,278],[1455,278],[1457,278],[1461,278],[1472,282],[1460,278],[1448,278],[1485,283],[1479,282],[1481,284],[1480,282],[1473,282],[1474,282],[1476,282],[1478,282],[1482,284],[1483,284],[1475,284],[1477,284],[1037,285],[1042,286],[1494,287],[1490,288],[1492,289],[1493,290],[1488,291],[1491,292],[1489,293],[1498,294],[1496,295],[1497,296],[1495,297],[1227,298],[1500,299],[1501,300],[1339,301],[1341,302],[1342,303],[1343,304],[1175,305],[1176,305],[1177,305],[1183,306],[1178,305],[1179,305],[1180,305],[1181,305],[1182,305],[1166,307],[1184,308],[1168,309],[1161,305],[1162,310],[1174,311],[1163,305],[1164,305],[1169,312],[1170,313],[1171,305],[1307,314],[1311,314],[1310,314],[1308,314],[1309,314],[1312,314],[1191,314],[1203,314],[1192,314],[1205,314],[1207,314],[1201,314],[1200,314],[1202,314],[1206,314],[1208,314],[1193,314],[1204,314],[1194,314],[1196,315],[1197,314],[1198,314],[1199,314],[1215,314],[1214,314],[1315,316],[1209,314],[1211,314],[1210,314],[1212,314],[1213,314],[1314,314],[1313,314],[1216,314],[1298,314],[1297,314],[1228,317],[1229,317],[1231,314],[1275,314],[1296,314],[1232,317],[1276,314],[1273,314],[1277,314],[1233,314],[1234,314],[1235,317],[1278,314],[1272,317],[1230,317],[1279,314],[1236,317],[1280,314],[1260,314],[1237,317],[1238,314],[1239,314],[1270,317],[1242,314],[1241,314],[1281,314],[1282,314],[1283,317],[1244,314],[1246,314],[1247,314],[1253,314],[1254,314],[1248,317],[1284,314],[1271,317],[1249,314],[1250,314],[1285,314],[1251,314],[1243,317],[1286,314],[1269,314],[1287,314],[1252,317],[1255,314],[1256,314],[1274,317],[1288,314],[1289,314],[1268,318],[1245,314],[1290,317],[1291,314],[1292,314],[1293,314],[1294,317],[1257,314],[1295,314],[1261,314],[1258,317],[1259,317],[1240,314],[1262,314],[1265,314],[1263,314],[1264,314],[1217,314],[1305,314],[1299,314],[1300,314],[1302,314],[1303,314],[1301,314],[1306,314],[1304,314],[1190,319],[1323,320],[1321,321],[1322,322],[1320,323],[1319,314],[1318,324],[1317,325],[1195,319],[1337,326],[1058,327],[1436,328],[1434,329],[1435,330],[1267,331],[1433,332],[1344,333],[252,334],[203,335],[201,335],[251,336],[216,337],[215,337],[116,338],[67,339],[223,338],[224,338],[226,340],[227,338],[228,341],[127,342],[229,338],[200,338],[230,338],[231,343],[232,338],[233,337],[234,344],[235,338],[236,338],[237,338],[238,338],[239,337],[240,338],[241,338],[242,338],[243,338],[244,345],[245,338],[246,338],[247,338],[248,338],[249,338],[66,336],[69,341],[70,341],[71,341],[72,341],[73,341],[74,341],[75,341],[76,338],[78,346],[79,341],[77,341],[80,341],[81,341],[82,341],[83,341],[84,341],[85,341],[86,338],[87,341],[88,341],[89,341],[90,341],[91,341],[92,338],[93,341],[94,341],[95,341],[96,341],[97,341],[98,341],[99,338],[101,347],[100,341],[102,341],[103,341],[104,341],[105,341],[106,345],[107,338],[108,338],[122,348],[110,349],[111,341],[112,341],[113,338],[114,341],[115,341],[117,350],[118,341],[119,341],[120,341],[121,341],[123,341],[124,341],[125,341],[126,341],[128,351],[129,341],[130,341],[131,341],[132,338],[133,341],[134,352],[135,352],[136,352],[137,338],[138,341],[139,341],[140,341],[145,341],[141,341],[142,338],[143,341],[144,338],[146,341],[147,341],[148,341],[149,341],[150,341],[151,341],[152,338],[153,341],[154,341],[155,341],[156,341],[157,341],[158,341],[159,341],[160,341],[161,341],[162,341],[163,341],[164,341],[165,341],[166,341],[167,341],[168,341],[169,353],[170,341],[171,341],[172,341],[173,341],[174,341],[175,341],[176,338],[177,338],[178,338],[179,338],[180,338],[181,341],[182,341],[183,341],[184,341],[202,354],[250,338],[187,355],[186,356],[210,357],[209,358],[205,359],[204,358],[206,360],[195,361],[193,362],[208,363],[207,360],[196,364],[109,365],[65,366],[64,341],[191,367],[192,368],[190,369],[188,341],[197,370],[68,371],[214,337],[212,372],[185,373],[198,374],[555,375],[500,376],[655,377],[864,378],[706,379],[863,380],[862,380],[557,381],[662,382],[658,383],[859,379],[781,384],[782,385],[783,385],[795,385],[788,386],[787,387],[789,385],[790,385],[794,388],[792,389],[822,390],[818,391],[820,385],[833,392],[827,393],[505,394],[506,395],[809,396],[539,397],[540,397],[786,398],[784,398],[497,399],[536,400],[828,401],[793,394],[821,206],[791,402],[810,397],[811,403],[812,404],[813,404],[814,404],[815,404],[816,405],[817,405],[826,406],[824,407],[829,408],[649,409],[652,377],[653,377],[654,377],[623,410],[624,411],[643,377],[562,412],[647,377],[642,413],[604,414],[568,415],[626,416],[646,377],[641,417],[627,410],[628,418],[645,377],[651,419],[657,420],[531,421],[629,377],[644,377],[638,422],[639,423],[529,398],[619,424],[610,425],[659,426],[550,427],[537,428],[868,392],[547,385],[549,429],[548,405],[541,430],[544,401],[712,431],[735,431],[716,431],[719,432],[721,431],[771,431],[747,431],[711,431],[739,431],[768,431],[718,431],[748,431],[733,431],[736,431],[724,431],[758,433],[753,431],[746,431],[728,434],[727,434],[744,432],[754,431],[773,435],[774,436],[759,437],[750,431],[731,431],[717,431],[720,431],[752,431],[737,432],[745,431],[742,438],[760,438],[743,432],[729,431],[755,431],[738,431],[772,431],[762,431],[749,431],[770,431],[751,431],[730,431],[766,431],[756,431],[732,431],[761,431],[769,431],[734,431],[757,434],[740,431],[765,439],[715,439],[726,431],[725,431],[723,440],[722,431],[767,438],[763,438],[741,438],[764,438],[569,441],[575,442],[574,443],[565,444],[573,445],[572,445],[571,445],[853,446],[570,447],[580,448],[579,449],[834,441],[836,441],[837,441],[838,441],[839,441],[840,441],[841,450],[846,441],[842,441],[843,441],[852,441],[844,441],[845,441],[847,441],[848,441],[849,441],[850,441],[835,441],[851,451],[707,452],[873,453],[854,454],[855,455],[857,456],[551,457],[552,458],[856,455],[508,459],[522,460],[701,461],[699,385],[697,462],[705,463],[694,405],[518,405],[502,464],[663,465],[666,406],[524,401],[598,466],[527,467],[526,468],[523,469],[667,470],[602,471],[515,472],[669,473],[520,474],[519,475],[516,476],[665,477],[501,461],[525,478],[622,479],[865,480],[621,457],[866,481],[867,482],[514,483],[714,484],[713,485],[567,486],[676,487],[684,488],[687,489],[616,490],[689,491],[677,492],[691,493],[692,494],[683,495],[605,496],[679,497],[678,497],[661,498],[660,498],[690,499],[609,500],[607,501],[608,501],[693,502],[688,503],[614,504],[686,505],[685,506],[674,507],[858,508],[860,509],[611,510],[620,511],[613,512],[617,513],[672,514],[512,206],[869,515],[532,516],[673,517],[599,518],[511,519],[603,520],[560,521],[671,522],[582,523],[513,524],[595,525],[593,526],[588,527],[589,528],[592,426],[591,529],[587,528],[590,529],[583,426],[584,426],[585,426],[586,530],[870,531],[872,532],[308,533],[315,534],[307,533],[322,535],[299,536],[298,537],[321,7],[316,538],[319,539],[301,540],[300,541],[296,542],[295,543],[318,544],[297,545],[302,546],[306,546],[324,547],[323,546],[310,548],[311,549],[313,550],[309,551],[312,552],[317,7],[304,553],[305,554],[314,555],[294,556],[320,557],[1135,558],[1124,559],[1127,560],[1126,559],[1128,559],[1129,560],[1130,559],[1132,559],[1066,561],[1067,562],[941,563],[924,564],[940,565],[1405,566],[939,567],[492,568],[1394,569],[491,12],[1065,570],[1083,571],[1064,572],[1082,573],[1063,565],[1060,574],[1057,565],[925,575],[1046,576],[1056,577],[1035,578],[1098,579],[1141,580],[1140,581],[1097,582],[1095,565],[1062,565],[1096,565],[1094,574],[932,583],[933,583],[1093,584],[1368,585],[1369,586],[1087,587],[1086,565],[1085,588],[1406,589],[929,206],[1347,590],[1059,590],[1090,591],[1349,592],[1154,593],[1081,594],[1395,595],[1326,596],[1324,597],[1407,598],[1325,599],[1327,600],[1328,601],[928,602],[931,603],[936,604],[1364,605],[1365,606],[1330,607],[1329,608],[1157,609],[1155,565],[1331,588],[1408,610],[926,602],[1156,611],[1366,612],[1367,613],[1348,614],[1334,615],[1384,565],[1383,616],[1409,617],[1386,618],[1371,619],[1387,620],[1390,621],[1385,622],[1377,623],[1376,624],[1136,625],[1360,12],[1143,565],[937,626],[1145,627],[1146,628],[1144,629],[1150,588],[1361,630],[1149,631],[938,632],[1362,633],[1363,634],[1153,635],[1410,636],[1370,637],[1391,638],[1392,639],[1373,640],[1084,565],[1092,565],[1088,565],[1089,565],[934,641],[1137,642],[1138,643],[1091,644],[1378,565],[1411,645],[935,646],[1381,647],[1388,648],[1389,649],[1382,650]],"exportedModulesMap":[[1414,1],[1432,2],[1079,3],[1073,4],[1072,5],[1071,6],[1077,5],[1076,7],[1070,5],[1074,8],[1078,9],[1080,10],[396,11],[397,11],[399,12],[409,13],[401,14],[404,11],[405,11],[406,11],[408,15],[416,16],[421,17],[413,18],[414,19],[422,20],[412,21],[411,22],[267,23],[439,24],[424,24],[431,24],[428,24],[441,24],[432,24],[438,24],[423,25],[442,24],[445,26],[436,24],[426,24],[444,24],[429,24],[427,24],[437,24],[433,24],[443,24],[430,24],[440,24],[425,24],[435,24],[434,24],[452,27],[448,28],[451,29],[490,30],[973,31],[63,32],[979,33],[978,34],[253,35],[254,32],[462,36],[464,37],[257,38],[256,39],[259,38],[262,40],[274,41],[280,42],[282,43],[288,44],[378,45],[377,7],[395,46],[1022,47],[273,48],[271,49],[269,50],[270,51],[387,52],[390,53],[383,54],[388,55],[386,56],[389,57],[384,58],[385,59],[286,60],[391,61],[287,62],[393,63],[394,64],[268,65],[392,66],[458,67],[459,68],[454,69],[455,70],[456,71],[457,72],[460,73],[476,74],[475,75],[481,76],[474,77],[477,74],[478,78],[480,79],[479,80],[482,81],[467,82],[468,83],[471,84],[470,84],[469,83],[472,83],[466,85],[484,86],[483,87],[486,88],[485,89],[487,90],[449,60],[450,91],[488,92],[465,93],[489,94],[942,95],[943,96],[964,97],[965,98],[967,99],[968,100],[977,101],[970,102],[974,103],[982,104],[980,12],[981,105],[971,106],[985,107],[986,108],[987,109],[976,110],[972,111],[996,112],[984,113],[1011,114],[969,96],[1012,115],[1009,116],[1010,12],[1034,117],[959,118],[955,119],[957,120],[1008,121],[950,122],[998,123],[958,124],[1005,125],[962,126],[1007,127],[960,128],[954,129],[961,130],[956,131],[1002,132],[1015,133],[1013,12],[945,12],[1001,134],[946,19],[947,98],[948,135],[952,136],[951,137],[1014,138],[953,139],[990,140],[988,107],[989,141],[999,19],[1000,142],[1003,143],[1018,144],[1019,145],[1016,146],[1017,147],[1020,148],[1021,149],[1023,150],[995,151],[992,152],[993,11],[994,141],[1025,153],[1024,154],[1031,155],[963,12],[1027,156],[1026,12],[1029,157],[1030,158],[975,159],[1004,160],[1033,161],[1032,12],[1053,162],[1049,163],[1048,164],[1051,165],[1052,166],[1054,167],[1403,168],[1398,169],[1396,12],[1399,169],[1400,169],[1401,169],[1402,12],[1404,170],[1102,171],[1103,172],[1117,173],[1105,174],[1104,175],[1099,176],[1116,177],[1107,178],[1108,178],[1109,178],[1110,178],[1112,179],[1111,178],[1113,180],[1114,181],[1106,7],[1115,182],[1358,183],[1350,19],[1351,184],[1352,185],[1353,185],[1354,185],[1356,186],[1357,12],[1359,187],[887,188],[893,189],[896,190],[897,188],[900,191],[901,188],[902,192],[903,190],[906,193],[911,194],[920,195],[910,196],[899,192],[908,197],[912,198],[917,199],[913,12],[914,12],[915,12],[916,12],[919,200],[921,201],[877,202],[875,203],[876,204],[881,205],[874,206],[879,207],[878,208],[880,209],[882,210],[1417,211],[1413,1],[1415,212],[1416,1],[1055,7],[1044,213],[1043,176],[1424,214],[1423,215],[1040,216],[1045,217],[1425,218],[1427,219],[1428,220],[1437,221],[1047,222],[1441,223],[1118,224],[290,225],[291,225],[326,226],[327,227],[328,228],[329,229],[330,230],[331,231],[332,232],[333,233],[334,234],[335,235],[336,235],[338,236],[337,237],[339,238],[340,239],[341,240],[325,241],[342,242],[343,243],[344,244],[376,245],[345,246],[346,247],[347,248],[348,249],[349,250],[350,251],[351,252],[352,253],[353,254],[354,255],[355,255],[356,256],[357,257],[359,258],[358,259],[360,260],[361,261],[362,262],[363,263],[364,264],[365,265],[366,266],[367,267],[368,268],[369,269],[370,270],[371,271],[372,272],[373,273],[374,274],[1333,275],[1445,276],[1443,277],[1470,278],[1471,279],[1446,280],[1449,280],[1468,278],[1469,278],[1459,278],[1458,281],[1456,278],[1451,278],[1464,278],[1462,278],[1466,278],[1450,278],[1463,278],[1467,278],[1452,278],[1453,278],[1465,278],[1447,278],[1454,278],[1455,278],[1457,278],[1461,278],[1472,282],[1460,278],[1448,278],[1485,283],[1479,282],[1481,284],[1480,282],[1473,282],[1474,282],[1476,282],[1478,282],[1482,284],[1483,284],[1475,284],[1477,284],[1037,285],[1042,286],[1494,287],[1490,288],[1492,289],[1493,290],[1488,291],[1491,292],[1489,293],[1498,294],[1496,295],[1497,296],[1495,297],[1227,298],[1500,299],[1501,300],[1339,301],[1341,302],[1342,303],[1343,304],[1175,305],[1176,305],[1177,305],[1183,306],[1178,305],[1179,305],[1180,305],[1181,305],[1182,305],[1166,307],[1184,308],[1168,309],[1161,305],[1162,310],[1174,311],[1163,305],[1164,305],[1169,312],[1170,313],[1171,305],[1307,314],[1311,314],[1310,314],[1308,314],[1309,314],[1312,314],[1191,314],[1203,314],[1192,314],[1205,314],[1207,314],[1201,314],[1200,314],[1202,314],[1206,314],[1208,314],[1193,314],[1204,314],[1194,314],[1196,315],[1197,314],[1198,314],[1199,314],[1215,314],[1214,314],[1315,316],[1209,314],[1211,314],[1210,314],[1212,314],[1213,314],[1314,314],[1313,314],[1216,314],[1298,314],[1297,314],[1228,317],[1229,317],[1231,314],[1275,314],[1296,314],[1232,317],[1276,314],[1273,314],[1277,314],[1233,314],[1234,314],[1235,317],[1278,314],[1272,317],[1230,317],[1279,314],[1236,317],[1280,314],[1260,314],[1237,317],[1238,314],[1239,314],[1270,317],[1242,314],[1241,314],[1281,314],[1282,314],[1283,317],[1244,314],[1246,314],[1247,314],[1253,314],[1254,314],[1248,317],[1284,314],[1271,317],[1249,314],[1250,314],[1285,314],[1251,314],[1243,317],[1286,314],[1269,314],[1287,314],[1252,317],[1255,314],[1256,314],[1274,317],[1288,314],[1289,314],[1268,318],[1245,314],[1290,317],[1291,314],[1292,314],[1293,314],[1294,317],[1257,314],[1295,314],[1261,314],[1258,317],[1259,317],[1240,314],[1262,314],[1265,314],[1263,314],[1264,314],[1217,314],[1305,314],[1299,314],[1300,314],[1302,314],[1303,314],[1301,314],[1306,314],[1304,314],[1190,319],[1323,320],[1321,321],[1322,322],[1320,323],[1319,314],[1318,324],[1317,325],[1195,319],[1337,326],[1058,327],[1436,328],[1434,329],[1435,330],[1267,331],[1433,332],[1344,333],[252,334],[203,335],[201,335],[251,336],[216,337],[215,337],[116,338],[67,339],[223,338],[224,338],[226,340],[227,338],[228,341],[127,342],[229,338],[200,338],[230,338],[231,343],[232,338],[233,337],[234,344],[235,338],[236,338],[237,338],[238,338],[239,337],[240,338],[241,338],[242,338],[243,338],[244,345],[245,338],[246,338],[247,338],[248,338],[249,338],[66,336],[69,341],[70,341],[71,341],[72,341],[73,341],[74,341],[75,341],[76,338],[78,346],[79,341],[77,341],[80,341],[81,341],[82,341],[83,341],[84,341],[85,341],[86,338],[87,341],[88,341],[89,341],[90,341],[91,341],[92,338],[93,341],[94,341],[95,341],[96,341],[97,341],[98,341],[99,338],[101,347],[100,341],[102,341],[103,341],[104,341],[105,341],[106,345],[107,338],[108,338],[122,348],[110,349],[111,341],[112,341],[113,338],[114,341],[115,341],[117,350],[118,341],[119,341],[120,341],[121,341],[123,341],[124,341],[125,341],[126,341],[128,351],[129,341],[130,341],[131,341],[132,338],[133,341],[134,352],[135,352],[136,352],[137,338],[138,341],[139,341],[140,341],[145,341],[141,341],[142,338],[143,341],[144,338],[146,341],[147,341],[148,341],[149,341],[150,341],[151,341],[152,338],[153,341],[154,341],[155,341],[156,341],[157,341],[158,341],[159,341],[160,341],[161,341],[162,341],[163,341],[164,341],[165,341],[166,341],[167,341],[168,341],[169,353],[170,341],[171,341],[172,341],[173,341],[174,341],[175,341],[176,338],[177,338],[178,338],[179,338],[180,338],[181,341],[182,341],[183,341],[184,341],[202,354],[250,338],[187,355],[186,356],[210,357],[209,358],[205,359],[204,358],[206,360],[195,361],[193,362],[208,363],[207,360],[196,364],[109,365],[65,366],[64,341],[191,367],[192,368],[190,369],[188,341],[197,370],[68,371],[214,337],[212,372],[185,373],[198,374],[555,375],[500,376],[655,377],[864,378],[706,379],[863,380],[862,380],[557,381],[662,382],[658,383],[859,379],[781,384],[782,385],[783,385],[795,385],[788,386],[787,387],[789,385],[790,385],[794,388],[792,389],[822,390],[818,391],[820,385],[833,392],[827,393],[505,394],[506,395],[809,396],[539,397],[540,397],[786,398],[784,398],[497,399],[536,400],[828,401],[793,394],[821,206],[791,402],[810,397],[811,403],[812,404],[813,404],[814,404],[815,404],[816,405],[817,405],[826,406],[824,407],[829,408],[649,409],[652,377],[653,377],[654,377],[623,410],[624,411],[643,377],[562,412],[647,377],[642,413],[604,414],[568,415],[626,416],[646,377],[641,417],[627,410],[628,418],[645,377],[651,419],[657,420],[531,421],[629,377],[644,377],[638,422],[639,423],[529,398],[619,424],[610,425],[659,426],[550,427],[537,428],[868,392],[547,385],[549,429],[548,405],[541,430],[544,401],[712,431],[735,431],[716,431],[719,432],[721,431],[771,431],[747,431],[711,431],[739,431],[768,431],[718,431],[748,431],[733,431],[736,431],[724,431],[758,433],[753,431],[746,431],[728,434],[727,434],[744,432],[754,431],[773,435],[774,436],[759,437],[750,431],[731,431],[717,431],[720,431],[752,431],[737,432],[745,431],[742,438],[760,438],[743,432],[729,431],[755,431],[738,431],[772,431],[762,431],[749,431],[770,431],[751,431],[730,431],[766,431],[756,431],[732,431],[761,431],[769,431],[734,431],[757,434],[740,431],[765,439],[715,439],[726,431],[725,431],[723,440],[722,431],[767,438],[763,438],[741,438],[764,438],[569,441],[575,442],[574,443],[565,444],[573,445],[572,445],[571,445],[853,446],[570,447],[580,448],[579,449],[834,441],[836,441],[837,441],[838,441],[839,441],[840,441],[841,450],[846,441],[842,441],[843,441],[852,441],[844,441],[845,441],[847,441],[848,441],[849,441],[850,441],[835,441],[851,451],[707,452],[873,453],[854,454],[855,455],[857,456],[551,457],[552,458],[856,455],[508,459],[522,460],[701,461],[699,385],[697,462],[705,463],[694,405],[518,405],[502,464],[663,465],[666,406],[524,401],[598,466],[527,467],[526,468],[523,469],[667,470],[602,471],[515,472],[669,473],[520,474],[519,475],[516,476],[665,477],[501,461],[525,478],[622,479],[865,480],[621,457],[866,481],[867,482],[514,483],[714,484],[713,485],[567,486],[676,487],[684,488],[687,489],[616,490],[689,491],[677,492],[691,493],[692,494],[683,495],[605,496],[679,497],[678,497],[661,498],[660,498],[690,499],[609,500],[607,501],[608,501],[693,502],[688,503],[614,504],[686,505],[685,506],[674,507],[858,508],[860,509],[611,510],[620,511],[613,512],[617,513],[672,514],[512,206],[869,515],[532,516],[673,517],[599,518],[511,519],[603,520],[560,521],[671,522],[582,523],[513,524],[595,525],[593,526],[588,527],[589,528],[592,426],[591,529],[587,528],[590,529],[583,426],[584,426],[585,426],[586,530],[870,531],[872,532],[308,533],[315,534],[307,533],[322,535],[299,536],[298,537],[321,7],[316,538],[319,539],[301,540],[300,541],[296,542],[295,543],[318,544],[297,545],[302,546],[306,546],[324,547],[323,546],[310,548],[311,549],[313,550],[309,551],[312,552],[317,7],[304,553],[305,554],[314,555],[294,556],[320,557],[1135,558],[1124,559],[1127,560],[1126,559],[1128,559],[1129,560],[1130,559],[1132,559],[1066,561],[1067,562],[941,563],[924,564],[940,565],[1405,566],[939,567],[492,568],[1394,569],[491,12],[1065,570],[1083,571],[1064,572],[1082,573],[1063,565],[1060,574],[1057,565],[925,575],[1046,576],[1056,577],[1035,578],[1098,579],[1141,580],[1140,581],[1097,582],[1095,565],[1062,565],[1096,565],[1094,574],[932,583],[933,583],[1093,584],[1368,585],[1369,586],[1087,587],[1086,565],[1085,588],[1406,589],[929,206],[1347,590],[1059,590],[1090,591],[1349,592],[1154,593],[1081,594],[1395,595],[1326,596],[1324,597],[1407,598],[1325,599],[1327,600],[1328,601],[928,602],[931,603],[936,604],[1364,605],[1365,606],[1330,607],[1329,608],[1157,609],[1155,565],[1331,588],[1408,610],[926,602],[1156,611],[1366,612],[1367,613],[1348,614],[1334,615],[1384,565],[1383,616],[1409,617],[1386,618],[1371,619],[1387,620],[1390,621],[1385,622],[1377,623],[1376,624],[1136,625],[1360,12],[1143,565],[937,626],[1145,627],[1146,628],[1144,629],[1150,588],[1361,630],[1149,631],[938,632],[1362,633],[1363,634],[1153,635],[1410,636],[1370,637],[1391,638],[1392,639],[1373,640],[1084,565],[1092,565],[1088,565],[1089,565],[934,641],[1137,642],[1138,643],[1091,644],[1378,565],[1411,645],[935,646],[1381,647],[1388,648],[1389,649],[1382,650]],"semanticDiagnosticsPerFile":[1414,1412,1429,1432,1075,1079,1073,1072,1071,1077,1076,1070,1074,1078,1080,944,407,58,396,397,398,399,409,400,401,402,403,404,405,406,408,416,418,415,421,419,417,413,414,420,422,410,412,411,264,267,263,991,265,266,439,424,431,428,441,432,438,423,442,445,436,426,444,429,427,437,433,443,430,440,425,435,434,452,448,447,446,451,490,59,60,61,973,63,979,978,253,254,461,283,284,462,255,463,464,62,257,258,256,259,260,262,274,275,280,276,277,278,279,281,282,288,378,289,377,395,379,380,1022,273,271,269,270,272,387,381,390,383,388,386,389,384,385,286,391,287,393,394,382,261,268,392,458,453,459,454,455,456,457,460,476,475,481,473,474,477,478,480,479,482,467,468,471,470,469,472,466,484,483,486,485,487,449,450,285,488,465,489,942,943,964,965,966,967,968,977,970,974,982,980,981,971,983,985,986,987,976,972,996,984,1011,969,1012,1009,1010,1034,959,955,957,1008,950,998,997,958,1005,962,1006,1007,960,954,961,956,949,1002,1015,1013,945,1001,946,947,948,952,951,1014,953,990,988,989,999,1000,1003,1018,1019,1016,1017,1020,1021,1023,995,992,993,994,1025,1024,1031,963,1027,1026,1029,1028,1030,975,1004,1033,1032,1053,1049,1048,1050,1051,1052,1054,1403,1398,1396,1399,1400,1401,1402,1397,1404,1102,1103,1117,1105,1104,1099,1100,1101,1116,1107,1108,1109,1110,1112,1111,1113,1114,1106,1115,1358,1350,1351,1352,1353,1354,1355,1356,1357,1359,883,884,887,888,889,891,890,905,892,893,894,895,896,897,898,900,901,902,903,904,906,911,920,910,885,899,908,909,907,912,917,913,914,915,916,886,918,919,921,877,875,876,881,874,879,878,880,882,1431,1417,1413,1415,1416,1055,1044,1418,1043,1419,1379,1424,1420,1423,1421,1040,1045,1425,1041,1426,1427,1428,1437,1422,1047,1438,1439,1036,1440,1441,1118,290,291,326,327,328,329,330,331,332,333,334,335,336,338,337,339,340,341,325,375,342,343,344,376,345,346,347,348,349,350,351,352,353,354,355,356,357,359,358,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,1442,1333,1038,1039,1445,1443,1470,1471,1446,1449,1468,1469,1459,1458,1456,1451,1464,1462,1466,1450,1463,1467,1452,1453,1465,1447,1454,1455,1457,1461,1472,1460,1448,1485,1484,1479,1481,1480,1473,1474,1476,1478,1482,1483,1475,1477,1037,1042,1486,1494,1487,1490,1492,1493,1488,1491,1489,1498,1496,1497,1495,1444,1227,1218,1219,1220,1221,1222,1223,1224,1225,1226,1499,1500,1501,1346,292,1430,1339,1341,1342,1340,1338,1343,1175,1176,1177,1183,1178,1179,1180,1181,1182,1166,1165,1184,1172,1168,1159,1158,1160,1161,1162,1174,1163,1164,1169,1170,1171,1167,1173,1188,1307,1311,1310,1308,1309,1312,1191,1203,1192,1205,1207,1201,1200,1202,1206,1208,1193,1204,1194,1196,1197,1198,1199,1215,1214,1315,1209,1211,1210,1212,1213,1314,1313,1216,1298,1297,1228,1229,1231,1275,1296,1232,1276,1273,1277,1233,1234,1235,1278,1272,1230,1279,1236,1280,1260,1237,1238,1239,1270,1242,1241,1281,1282,1283,1244,1246,1247,1253,1254,1248,1284,1271,1249,1250,1285,1251,1243,1286,1269,1287,1252,1255,1256,1274,1288,1289,1268,1245,1290,1291,1292,1293,1294,1257,1295,1261,1258,1259,1240,1262,1265,1263,1264,1217,1305,1299,1300,1302,1303,1301,1306,1304,1190,1323,1321,1322,1320,1319,1318,1187,1189,1185,1316,1317,1195,1186,1337,1336,1058,1436,1434,1435,1267,1266,1433,1344,57,252,225,203,201,251,216,215,116,67,223,224,226,227,228,127,229,200,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,66,69,70,71,72,73,74,75,76,78,79,77,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,101,100,102,103,104,105,106,107,108,122,110,111,112,113,114,115,117,118,119,120,121,123,124,125,126,128,129,130,131,132,133,134,135,136,137,138,139,140,145,141,142,143,144,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,202,250,187,186,210,209,205,204,206,195,193,208,207,194,196,109,65,64,199,191,192,189,190,188,197,68,217,218,211,214,213,219,220,212,221,222,185,198,1335,555,554,576,500,556,509,499,618,709,655,864,706,863,862,708,557,662,658,859,830,781,782,783,795,788,787,789,790,794,792,822,819,818,820,833,831,832,827,796,797,800,798,799,801,802,805,803,804,806,807,505,778,777,779,776,506,775,780,809,808,538,539,540,786,784,785,497,536,828,504,793,821,791,810,811,812,813,814,815,816,817,826,825,823,824,829,648,649,652,653,654,623,624,643,562,647,566,642,604,568,625,626,646,640,641,627,628,530,645,650,651,656,657,531,629,644,631,632,633,634,635,636,630,637,861,638,639,503,528,553,533,535,615,529,558,561,619,610,659,550,545,537,868,546,534,547,549,548,541,544,712,735,716,719,721,771,747,711,739,768,718,748,733,736,724,758,753,746,728,727,744,754,773,774,759,750,731,717,720,752,737,745,742,760,743,729,755,738,772,762,749,770,751,730,766,756,732,761,769,734,757,740,765,715,726,725,723,710,722,767,763,741,764,569,575,574,565,564,573,572,571,853,570,612,563,580,579,834,836,837,838,839,840,841,846,842,843,852,844,845,847,848,849,850,835,851,542,707,873,854,855,857,551,552,856,597,508,700,517,522,701,698,601,704,668,699,696,697,705,695,694,518,502,663,702,703,666,507,524,598,527,526,523,667,602,515,669,520,519,516,665,494,521,495,496,498,501,493,543,664,525,622,865,621,866,867,514,714,713,567,676,684,687,616,689,677,691,692,675,683,605,679,678,661,660,690,609,607,608,680,693,681,688,614,686,682,685,606,674,858,860,871,611,578,620,577,613,617,596,510,600,559,670,672,581,512,869,532,673,599,511,603,560,671,582,513,595,594,593,588,589,592,591,587,590,583,584,585,586,870,872,54,55,11,9,10,15,14,2,16,17,18,19,20,21,22,23,3,24,4,25,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,56,52,49,50,51,1,53,13,12,308,315,307,322,299,298,321,316,319,301,300,296,295,318,297,302,303,306,293,324,323,310,311,313,309,312,317,304,305,314,294,320,1123,1135,1119,1120,1121,1122,1124,1125,1127,1126,1128,1129,1130,1131,1132,1133,1134,1066,1067,941,924,940,1405,939,492,1394,491,1065,1083,1064,1082,1063,1060,1069,1057,925,1046,1056,1035,1098,1141,1140,1097,1139,1095,1062,1096,1094,932,933,1093,1368,1369,1087,1086,1085,1406,929,1068,1347,1059,1393,1090,1349,1154,1147,1081,1395,1326,1324,1407,1325,1327,1328,928,931,936,1364,1365,1330,1329,1157,1155,1331,1332,1345,1408,926,1156,927,1366,1367,1348,1334,1384,1383,1374,1409,1386,1371,1387,1390,1385,1375,1377,1376,1061,922,930,923,1136,1360,1142,1143,937,1145,1146,1144,1150,1148,1361,1151,1152,1149,938,1362,1363,1153,1372,1410,1370,1391,1392,1373,1084,1092,1088,1089,934,1137,1138,1091,1378,1411,935,1380,1381,1388,1389,1382]},"version":"5.4.2"} \ No newline at end of file diff --git a/backend/dist/user/dto/create-user.dto.d.ts b/backend/dist/user/dto/create-user.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..70209dfd34402987381f2fda71158cd807add8f5 --- /dev/null +++ b/backend/dist/user/dto/create-user.dto.d.ts @@ -0,0 +1,7 @@ +export declare class CreateUserDto { + email: string; + name: string; + lastName: string; + password: string; + birthDate: Date; +} diff --git a/backend/dist/user/dto/create-user.dto.js b/backend/dist/user/dto/create-user.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..ba9dd7e9d302664e7b05dd1b3e5be480990111f1 --- /dev/null +++ b/backend/dist/user/dto/create-user.dto.js @@ -0,0 +1,37 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreateUserDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +class CreateUserDto { +} +exports.CreateUserDto = CreateUserDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreateUserDto.prototype, "email", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreateUserDto.prototype, "name", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreateUserDto.prototype, "lastName", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], CreateUserDto.prototype, "password", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Date) +], CreateUserDto.prototype, "birthDate", void 0); +//# sourceMappingURL=create-user.dto.js.map \ No newline at end of file diff --git a/backend/dist/user/dto/create-user.dto.js.map b/backend/dist/user/dto/create-user.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..7be5f084059e5796b771be98f228b676d7fbe1d7 --- /dev/null +++ b/backend/dist/user/dto/create-user.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-user.dto.js","sourceRoot":"","sources":["../../../src/user/dto/create-user.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,aAAa;CAWzB;AAXD,sCAWC;AATC;IADC,IAAA,qBAAW,GAAE;;4CACA;AAEd;IADC,IAAA,qBAAW,GAAE;;2CACD;AAEb;IADC,IAAA,qBAAW,GAAE;;+CACG;AAEjB;IADC,IAAA,qBAAW,GAAE;;+CACG;AAEjB;IADC,IAAA,qBAAW,GAAE;8BACH,IAAI;gDAAC"} \ No newline at end of file diff --git a/backend/dist/user/dto/update-preferedCategories.dto.d.ts b/backend/dist/user/dto/update-preferedCategories.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..e1e4cc9d7c02841ff848b031c978d1160368c381 --- /dev/null +++ b/backend/dist/user/dto/update-preferedCategories.dto.d.ts @@ -0,0 +1,3 @@ +export declare class UpdatePreferedCategoriesDto { + idCategories: number[]; +} diff --git a/backend/dist/user/dto/update-preferedCategories.dto.js b/backend/dist/user/dto/update-preferedCategories.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..31d02b19fbb0ac6530790a84aa2e0608f2cf577e --- /dev/null +++ b/backend/dist/user/dto/update-preferedCategories.dto.js @@ -0,0 +1,21 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UpdatePreferedCategoriesDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +class UpdatePreferedCategoriesDto { +} +exports.UpdatePreferedCategoriesDto = UpdatePreferedCategoriesDto; +__decorate([ + (0, swagger_1.ApiProperty)({ isArray: true, type: Number, example: [1, 2] }), + __metadata("design:type", Array) +], UpdatePreferedCategoriesDto.prototype, "idCategories", void 0); +//# sourceMappingURL=update-preferedCategories.dto.js.map \ No newline at end of file diff --git a/backend/dist/user/dto/update-preferedCategories.dto.js.map b/backend/dist/user/dto/update-preferedCategories.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6d30708708554980f1e068021b863d9ae1c627c6 --- /dev/null +++ b/backend/dist/user/dto/update-preferedCategories.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"update-preferedCategories.dto.js","sourceRoot":"","sources":["../../../src/user/dto/update-preferedCategories.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,2BAA2B;CAGvC;AAHD,kEAGC;AADC;IADC,IAAA,qBAAW,EAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;;iEACvC"} \ No newline at end of file diff --git a/backend/dist/user/dto/update-user.dto.d.ts b/backend/dist/user/dto/update-user.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..58f3b7d4fa4b5db8fc1fe14c01c0b371dc129c07 --- /dev/null +++ b/backend/dist/user/dto/update-user.dto.d.ts @@ -0,0 +1,7 @@ +export declare class UpdateUserDto { + name: string; + lastName: string; +} +export declare class UpdateImageUserDto { + image: any; +} diff --git a/backend/dist/user/dto/update-user.dto.js b/backend/dist/user/dto/update-user.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..6e968634c4f5fc6959a88c3bc6b5587ede4bfda4 --- /dev/null +++ b/backend/dist/user/dto/update-user.dto.js @@ -0,0 +1,32 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UpdateImageUserDto = exports.UpdateUserDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +class UpdateUserDto { +} +exports.UpdateUserDto = UpdateUserDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UpdateUserDto.prototype, "name", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UpdateUserDto.prototype, "lastName", void 0); +class UpdateImageUserDto { +} +exports.UpdateImageUserDto = UpdateImageUserDto; +__decorate([ + (0, swagger_1.ApiProperty)({ type: 'string', format: 'binary' }), + __metadata("design:type", Object) +], UpdateImageUserDto.prototype, "image", void 0); +//# sourceMappingURL=update-user.dto.js.map \ No newline at end of file diff --git a/backend/dist/user/dto/update-user.dto.js.map b/backend/dist/user/dto/update-user.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..37f381b717620e0832f9632873eefb23dad03101 --- /dev/null +++ b/backend/dist/user/dto/update-user.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"update-user.dto.js","sourceRoot":"","sources":["../../../src/user/dto/update-user.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,aAAa;CAKzB;AALD,sCAKC;AAHC;IADC,IAAA,qBAAW,GAAE;;2CACD;AAEb;IADC,IAAA,qBAAW,GAAE;;+CACG;AAGnB,MAAa,kBAAkB;CAG9B;AAHD,gDAGC;AADC;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;;iDAC5C"} \ No newline at end of file diff --git a/backend/dist/user/dto/user-response.d.ts b/backend/dist/user/dto/user-response.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..86a65669f2715b41ec8dd5da0bd4744eacd1a66e --- /dev/null +++ b/backend/dist/user/dto/user-response.d.ts @@ -0,0 +1,7 @@ +export declare class UserResponse { + name: string; + lastName: string; + imageUrl: string; + email: string; + emailConfirmed: boolean; +} diff --git a/backend/dist/user/dto/user-response.js b/backend/dist/user/dto/user-response.js new file mode 100644 index 0000000000000000000000000000000000000000..7d3e85d5255afc3f6f7e3c21cd83eb2889a5a75f --- /dev/null +++ b/backend/dist/user/dto/user-response.js @@ -0,0 +1,37 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UserResponse = void 0; +const swagger_1 = require("@nestjs/swagger"); +class UserResponse { +} +exports.UserResponse = UserResponse; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UserResponse.prototype, "name", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UserResponse.prototype, "lastName", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UserResponse.prototype, "imageUrl", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", String) +], UserResponse.prototype, "email", void 0); +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Boolean) +], UserResponse.prototype, "emailConfirmed", void 0); +//# sourceMappingURL=user-response.js.map \ No newline at end of file diff --git a/backend/dist/user/dto/user-response.js.map b/backend/dist/user/dto/user-response.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b37a150c240acd141e6d3568f8ce9dae0dfcf540 --- /dev/null +++ b/backend/dist/user/dto/user-response.js.map @@ -0,0 +1 @@ +{"version":3,"file":"user-response.js","sourceRoot":"","sources":["../../../src/user/dto/user-response.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,YAAY;CAaxB;AAbD,oCAaC;AAXC;IADC,IAAA,qBAAW,GAAE;;0CACD;AAEb;IADC,IAAA,qBAAW,GAAE;;8CACG;AAEjB;IADC,IAAA,qBAAW,GAAE;;8CACG;AAGjB;IADC,IAAA,qBAAW,GAAE;;2CACA;AAGd;IADC,IAAA,qBAAW,GAAE;;oDACU"} \ No newline at end of file diff --git a/backend/dist/user/entities/user.entity.d.ts b/backend/dist/user/entities/user.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..ef5439320ec7a3f74e0b18ff36e01a6b56403bab --- /dev/null +++ b/backend/dist/user/entities/user.entity.d.ts @@ -0,0 +1,15 @@ +import { UserConfirmCode } from 'src/auth/user/entities/user-confirm-code.entity'; +import { UserResetCode } from 'src/auth/user/entities/user-reset-code.entity'; +import { Category } from 'src/category/entities/category.entity'; +export declare class User { + email: string; + preferedCategories: Category[]; + name: string; + lastName: string; + birthDate: Date; + password: string; + imageUrl: string; + isEmailConfirmed: boolean; + resetCodes: UserResetCode[]; + confirmCodes: UserConfirmCode[]; +} diff --git a/backend/dist/user/entities/user.entity.js b/backend/dist/user/entities/user.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..426cfed47a663f87d8d371acdab832724d2ee983 --- /dev/null +++ b/backend/dist/user/entities/user.entity.js @@ -0,0 +1,64 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.User = void 0; +const user_confirm_code_entity_1 = require("../../auth/user/entities/user-confirm-code.entity"); +const user_reset_code_entity_1 = require("../../auth/user/entities/user-reset-code.entity"); +const category_entity_1 = require("../../category/entities/category.entity"); +const typeorm_1 = require("typeorm"); +let User = class User { +}; +exports.User = User; +__decorate([ + (0, typeorm_1.PrimaryColumn)(), + __metadata("design:type", String) +], User.prototype, "email", void 0); +__decorate([ + (0, typeorm_1.JoinTable)(), + (0, typeorm_1.ManyToMany)(() => category_entity_1.Category), + __metadata("design:type", Array) +], User.prototype, "preferedCategories", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], User.prototype, "name", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], User.prototype, "lastName", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", Date) +], User.prototype, "birthDate", void 0); +__decorate([ + (0, typeorm_1.Column)(), + __metadata("design:type", String) +], User.prototype, "password", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: true }), + __metadata("design:type", String) +], User.prototype, "imageUrl", void 0); +__decorate([ + (0, typeorm_1.Column)({ default: false }), + __metadata("design:type", Boolean) +], User.prototype, "isEmailConfirmed", void 0); +__decorate([ + (0, typeorm_1.OneToMany)(() => user_reset_code_entity_1.UserResetCode, (resetCode) => resetCode.user), + __metadata("design:type", Array) +], User.prototype, "resetCodes", void 0); +__decorate([ + (0, typeorm_1.OneToMany)(() => user_confirm_code_entity_1.UserConfirmCode, (confirmCode) => confirmCode.user), + __metadata("design:type", Array) +], User.prototype, "confirmCodes", void 0); +exports.User = User = __decorate([ + (0, typeorm_1.Entity)() +], User); +//# sourceMappingURL=user.entity.js.map \ No newline at end of file diff --git a/backend/dist/user/entities/user.entity.js.map b/backend/dist/user/entities/user.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..f274f231125b06e84565ef7590fd8259ecc5b860 --- /dev/null +++ b/backend/dist/user/entities/user.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"user.entity.js","sourceRoot":"","sources":["../../../src/user/entities/user.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gGAAkF;AAClF,4FAA8E;AAC9E,6EAAiE;AACjE,qCAA0F;AAGnF,IAAM,IAAI,GAAV,MAAM,IAAI;CA+BhB,CAAA;AA/BY,oBAAI;AAEf;IADC,IAAA,uBAAa,GAAE;;mCACF;AAId;IAFC,IAAA,mBAAS,GAAE;IACX,IAAA,oBAAU,EAAC,GAAG,EAAE,CAAC,0BAAQ,CAAC;;gDACI;AAG/B;IADC,IAAA,gBAAM,GAAE;;kCACI;AAGb;IADC,IAAA,gBAAM,GAAE;;sCACQ;AAGjB;IADC,IAAA,gBAAM,GAAE;8BACE,IAAI;uCAAC;AAGhB;IADC,IAAA,gBAAM,GAAE;;sCACQ;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sCACV;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;8CACD;AAG1B;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,sCAAa,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;;wCAClC;AAG5B;IADC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,0CAAe,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC;;0CACpC;eA9BrB,IAAI;IADhB,IAAA,gBAAM,GAAE;GACI,IAAI,CA+BhB"} \ No newline at end of file diff --git a/backend/dist/user/user.controller.d.ts b/backend/dist/user/user.controller.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..b8697bbc085549f0dd526a789090aea50e722313 --- /dev/null +++ b/backend/dist/user/user.controller.d.ts @@ -0,0 +1,20 @@ +import { UserService } from './user.service'; +import { UpdatePreferedCategoriesDto } from './dto/update-preferedCategories.dto'; +import { CustomUserRequest } from 'src/auth/user/interface/customUserReq'; +import { UpdateUserDto } from './dto/update-user.dto'; +import { CustomAdminRequest } from 'src/auth/admin/interface/customAdminReq'; +export declare class UserController { + private readonly userService; + constructor(userService: UserService); + updatePreferedCategories(updatePreferedCategoriesDto: UpdatePreferedCategoriesDto, req: CustomUserRequest): Promise<{ + message: string; + }>; + getPreferedCategories(req: CustomUserRequest, lang: string): Promise; + updateInfo(updateUserDto: UpdateUserDto, req: CustomUserRequest): Promise<{ + message: string; + }>; + updatePhoto(reqImg: CustomAdminRequest, req: CustomUserRequest): Promise<{ + message: string; + }>; + getInfo(req: CustomUserRequest): Promise; +} diff --git a/backend/dist/user/user.controller.js b/backend/dist/user/user.controller.js new file mode 100644 index 0000000000000000000000000000000000000000..9577b86739a95c11d21765cc4cb339306fabfa9b --- /dev/null +++ b/backend/dist/user/user.controller.js @@ -0,0 +1,138 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UserController = void 0; +const common_1 = require("@nestjs/common"); +const user_service_1 = require("./user.service"); +const update_preferedCategories_dto_1 = require("./dto/update-preferedCategories.dto"); +const swagger_1 = require("@nestjs/swagger"); +const authUser_guard_1 = require("../auth/user/authUser.guard"); +const update_user_dto_1 = require("./dto/update-user.dto"); +const file_save_interceptor_1 = require("../shared/interceptors/file-save.interceptor"); +let UserController = class UserController { + constructor(userService) { + this.userService = userService; + } + async updatePreferedCategories(updatePreferedCategoriesDto, req) { + try { + const { email } = req.user; + await this.userService.updatePreferedCategories(email, updatePreferedCategoriesDto.idCategories); + return { message: 'Prefered categories updated successfully' }; + } + catch (error) { + throw error; + } + } + async getPreferedCategories(req, lang) { + try { + const { email } = req.user; + return await this.userService.getPreferedCategories(email, lang); + } + catch (error) { + throw error; + } + } + async updateInfo(updateUserDto, req) { + try { + const { email } = req.user; + await this.userService.updateInfo(email, updateUserDto); + return { message: 'User info updated successfully' }; + } + catch (error) { + throw error; + } + } + async updatePhoto(reqImg, req) { + try { + const { email } = req.user; + const image = reqImg.file.filename; + await this.userService.updatePhoto(email, image); + return { message: 'User photo updated successfully' }; + } + catch (error) { + throw error; + } + } + async getInfo(req) { + try { + const { email } = req.user; + return await this.userService.getUserInfo(email); + } + catch (error) { + throw error; + } + } +}; +exports.UserController = UserController; +__decorate([ + (0, common_1.Patch)('update-prefered-categories'), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, swagger_1.ApiBody)({ type: update_preferedCategories_dto_1.UpdatePreferedCategoriesDto }), + (0, common_1.UseGuards)(authUser_guard_1.AuthUserGuard), + __param(0, (0, common_1.Body)()), + __param(1, (0, common_1.Req)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [update_preferedCategories_dto_1.UpdatePreferedCategoriesDto, Object]), + __metadata("design:returntype", Promise) +], UserController.prototype, "updatePreferedCategories", null); +__decorate([ + (0, common_1.Get)('prefered-categories'), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, swagger_1.ApiQuery)({ name: 'lang', type: String }), + (0, common_1.UseGuards)(authUser_guard_1.AuthUserGuard), + __param(0, (0, common_1.Req)()), + __param(1, (0, common_1.Query)('lang')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, String]), + __metadata("design:returntype", Promise) +], UserController.prototype, "getPreferedCategories", null); +__decorate([ + (0, common_1.Patch)('info'), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, swagger_1.ApiBody)({ type: update_user_dto_1.UpdateUserDto }), + (0, common_1.UseGuards)(authUser_guard_1.AuthUserGuard), + __param(0, (0, common_1.Body)()), + __param(1, (0, common_1.Req)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [update_user_dto_1.UpdateUserDto, Object]), + __metadata("design:returntype", Promise) +], UserController.prototype, "updateInfo", null); +__decorate([ + (0, common_1.Patch)('photo'), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, common_1.UseGuards)(authUser_guard_1.AuthUserGuard), + (0, swagger_1.ApiConsumes)('multipart/form-data'), + (0, swagger_1.ApiBody)({ type: update_user_dto_1.UpdateImageUserDto }), + (0, common_1.UseInterceptors)((0, file_save_interceptor_1.fileInterceptor)('image', 'static/user/', ['.jpg', '.jpeg', '.png'])), + __param(0, (0, common_1.Req)()), + __param(1, (0, common_1.Req)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object, Object]), + __metadata("design:returntype", Promise) +], UserController.prototype, "updatePhoto", null); +__decorate([ + (0, common_1.Get)('info'), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, common_1.UseGuards)(authUser_guard_1.AuthUserGuard), + __param(0, (0, common_1.Req)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", Promise) +], UserController.prototype, "getInfo", null); +exports.UserController = UserController = __decorate([ + (0, common_1.Controller)('user'), + (0, swagger_1.ApiTags)('User'), + __metadata("design:paramtypes", [user_service_1.UserService]) +], UserController); +//# sourceMappingURL=user.controller.js.map \ No newline at end of file diff --git a/backend/dist/user/user.controller.js.map b/backend/dist/user/user.controller.js.map new file mode 100644 index 0000000000000000000000000000000000000000..2316a10aebe3762a5d4c601c6f6d94dd9a88d191 --- /dev/null +++ b/backend/dist/user/user.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"user.controller.js","sourceRoot":"","sources":["../../src/user/user.controller.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/user/user.module.d.ts b/backend/dist/user/user.module.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..7ccd53b62c52c0e954e100aef42872ff828f5cb9 --- /dev/null +++ b/backend/dist/user/user.module.d.ts @@ -0,0 +1,2 @@ +export declare class UserModule { +} diff --git a/backend/dist/user/user.module.js b/backend/dist/user/user.module.js new file mode 100644 index 0000000000000000000000000000000000000000..5569ba03926659463e55253dd3bad07806b04a3d --- /dev/null +++ b/backend/dist/user/user.module.js @@ -0,0 +1,33 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UserModule = void 0; +const common_1 = require("@nestjs/common"); +const user_service_1 = require("./user.service"); +const user_controller_1 = require("./user.controller"); +const typeorm_1 = require("@nestjs/typeorm"); +const user_entity_1 = require("./entities/user.entity"); +const category_service_1 = require("../category/category.service"); +const category_entity_1 = require("../category/entities/category.entity"); +const authUserservice_1 = require("../auth/user/authUserservice"); +const jwt_1 = require("@nestjs/jwt"); +const encryption_service_1 = require("../auth/encryption/encryption.service"); +const user_reset_code_entity_1 = require("../auth/user/entities/user-reset-code.entity"); +const user_confirm_code_entity_1 = require("../auth/user/entities/user-confirm-code.entity"); +const email_service_1 = require("../email/email.service"); +let UserModule = class UserModule { +}; +exports.UserModule = UserModule; +exports.UserModule = UserModule = __decorate([ + (0, common_1.Module)({ + controllers: [user_controller_1.UserController], + providers: [user_service_1.UserService, category_service_1.CategoryService, authUserservice_1.AuthUserService, jwt_1.JwtService, encryption_service_1.EncryptionService, email_service_1.EmailService], + imports: [typeorm_1.TypeOrmModule.forFeature([user_entity_1.User, category_entity_1.Category, user_reset_code_entity_1.UserResetCode, user_confirm_code_entity_1.UserConfirmCode])], + }) +], UserModule); +//# sourceMappingURL=user.module.js.map \ No newline at end of file diff --git a/backend/dist/user/user.module.js.map b/backend/dist/user/user.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1834f53cfe51075baaf652ee7ec2c7f1eeaed8e1 --- /dev/null +++ b/backend/dist/user/user.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"user.module.js","sourceRoot":"","sources":["../../src/user/user.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,iDAA6C;AAC7C,uDAAmD;AACnD,6CAAgD;AAChD,wDAA8C;AAC9C,mEAAgE;AAChE,0EAAiE;AACjE,kEAAgE;AAChE,qCAAyC;AACzC,8EAA2E;AAC3E,yFAA8E;AAC9E,6FAAkF;AAClF,0DAAuD;AAOhD,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IALtB,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,gCAAc,CAAC;QAC7B,SAAS,EAAE,CAAC,0BAAW,EAAE,kCAAe,EAAE,iCAAe,EAAE,gBAAU,EAAE,sCAAiB,EAAE,4BAAY,CAAC;QACvG,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,kBAAI,EAAE,0BAAQ,EAAE,sCAAa,EAAE,0CAAe,CAAC,CAAC,CAAC;KACtF,CAAC;GACW,UAAU,CAAG"} \ No newline at end of file diff --git a/backend/dist/user/user.service.d.ts b/backend/dist/user/user.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..e2356b270450b30e17c844caf123ac8a5d9e9a83 --- /dev/null +++ b/backend/dist/user/user.service.d.ts @@ -0,0 +1,22 @@ +import { User } from './entities/user.entity'; +import { Repository } from 'typeorm'; +import { CreateUserDto } from './dto/create-user.dto'; +import { CategoryService } from 'src/category/category.service'; +import { LANGUAGES } from 'src/shared/enum/languages.enum'; +import { UpdateUserDto } from './dto/update-user.dto'; +import { UserResponse } from './dto/user-response'; +export declare class UserService { + private userRepository; + private categoryService; + constructor(userRepository: Repository, categoryService: CategoryService); + findOne(email: string): Promise; + create(createUserDto: CreateUserDto): Promise; + userExists(email: string): Promise; + updatePassword(email: string, password: string): Promise; + updatePreferedCategories(email: string, idCategories: number[]): Promise; + getPreferedCategories(email: string, language: LANGUAGES): Promise; + confirmEmail(email: string): Promise; + updateInfo(email: string, updateUserDto: UpdateUserDto): Promise; + updatePhoto(email: string, photo: string): Promise; + getUserInfo(email: string): Promise; +} diff --git a/backend/dist/user/user.service.js b/backend/dist/user/user.service.js new file mode 100644 index 0000000000000000000000000000000000000000..cdf4205dcb6f3d5dbf31d519e43a4e07a0fb4be4 --- /dev/null +++ b/backend/dist/user/user.service.js @@ -0,0 +1,126 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UserService = void 0; +const common_1 = require("@nestjs/common"); +const typeorm_1 = require("@nestjs/typeorm"); +const user_entity_1 = require("./entities/user.entity"); +const typeorm_2 = require("typeorm"); +const category_service_1 = require("../category/category.service"); +const languages_enum_1 = require("../shared/enum/languages.enum"); +const server_contants_1 = require("../constants/server.contants"); +let UserService = class UserService { + constructor(userRepository, categoryService) { + this.userRepository = userRepository; + this.categoryService = categoryService; + } + async findOne(email) { + const user = await this.userRepository.findOneBy({ email }); + return user; + } + async create(createUserDto) { + await this.userRepository.insert(createUserDto); + } + async userExists(email) { + const user = await this.userRepository.findOneBy({ email }); + if (user) + return true; + else + return false; + } + async updatePassword(email, password) { + await this.userRepository.update({ email }, { password }); + } + async updatePreferedCategories(email, idCategories) { + const user = await this.userRepository.findOneBy({ email }); + const categories = []; + for (const idCategory of idCategories) { + const categoryEN = await this.categoryService.findOne(idCategory); + if (!categoryEN) + throw new common_1.BadRequestException('Category not found'); + categoryEN.language = languages_enum_1.LANGUAGES.EN; + const categoryES = { + ...categoryEN, + language: languages_enum_1.LANGUAGES.ES, + }; + categories.push(categoryEN); + categories.push(categoryES); + } + user.preferedCategories = categories; + await this.userRepository.save(user); + } + async getPreferedCategories(email, language) { + const user = await this.userRepository.findOne({ + relations: { + preferedCategories: true, + }, + where: { + email, + preferedCategories: { + language, + }, + }, + }); + return user?.preferedCategories || []; + } + async confirmEmail(email) { + try { + await this.userRepository.update({ email }, { isEmailConfirmed: true }); + } + catch (error) { + throw new common_1.BadRequestException('Error confirming email'); + } + } + async updateInfo(email, updateUserDto) { + try { + await this.userRepository.update({ email }, updateUserDto); + } + catch (error) { + throw new common_1.BadRequestException('Error updating user info'); + } + } + async updatePhoto(email, photo) { + try { + await this.userRepository.update({ email }, { imageUrl: photo }); + } + catch (error) { + throw new common_1.BadRequestException('Error updating user photo'); + } + } + async getUserInfo(email) { + try { + const user = await this.userRepository.findOneBy({ email }); + user.imageUrl = `${server_contants_1.ServerConstants.HOST}/user/${user.imageUrl}`; + const res = { + imageUrl: user.imageUrl, + lastName: user.lastName, + email: user.email, + name: user.name, + emailConfirmed: user.isEmailConfirmed, + }; + return res; + } + catch (error) { + throw new common_1.BadRequestException('Error getting user info'); + } + } +}; +exports.UserService = UserService; +exports.UserService = UserService = __decorate([ + (0, common_1.Injectable)(), + __param(0, (0, typeorm_1.InjectRepository)(user_entity_1.User)), + __metadata("design:paramtypes", [typeorm_2.Repository, + category_service_1.CategoryService]) +], UserService); +//# sourceMappingURL=user.service.js.map \ No newline at end of file diff --git a/backend/dist/user/user.service.js.map b/backend/dist/user/user.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..6ed2e7e148eefcddd71780fa9f6de53341a94e06 --- /dev/null +++ b/backend/dist/user/user.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/user/user.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/dist/visited/dto/create-visited.dto.d.ts b/backend/dist/visited/dto/create-visited.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..0bd00b6b15cfb5e3bbb094881b6e47939381cef6 --- /dev/null +++ b/backend/dist/visited/dto/create-visited.dto.d.ts @@ -0,0 +1,4 @@ +export declare class CreateVisitedDto { + idPlace: number; + rating: number; +} diff --git a/backend/dist/visited/dto/create-visited.dto.js b/backend/dist/visited/dto/create-visited.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..731ae054acd0aa123589b42fd785a2afb5c59789 --- /dev/null +++ b/backend/dist/visited/dto/create-visited.dto.js @@ -0,0 +1,25 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.CreateVisitedDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +class CreateVisitedDto { +} +exports.CreateVisitedDto = CreateVisitedDto; +__decorate([ + (0, swagger_1.ApiProperty)(), + __metadata("design:type", Number) +], CreateVisitedDto.prototype, "idPlace", void 0); +__decorate([ + (0, swagger_1.ApiProperty)({ type: 'number', description: 'Rating from 1 to 5' }), + __metadata("design:type", Number) +], CreateVisitedDto.prototype, "rating", void 0); +//# sourceMappingURL=create-visited.dto.js.map \ No newline at end of file diff --git a/backend/dist/visited/dto/create-visited.dto.js.map b/backend/dist/visited/dto/create-visited.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..b01186bde1182e120a51e4e9fbb083b9faf77d82 --- /dev/null +++ b/backend/dist/visited/dto/create-visited.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"create-visited.dto.js","sourceRoot":"","sources":["../../../src/visited/dto/create-visited.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAE9C,MAAa,gBAAgB;CAK5B;AALD,4CAKC;AAHC;IADC,IAAA,qBAAW,GAAE;;iDACE;AAEhB;IADC,IAAA,qBAAW,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,CAAC;;gDACpD"} \ No newline at end of file diff --git a/backend/dist/visited/dto/update-visited.dto.d.ts b/backend/dist/visited/dto/update-visited.dto.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..6d85c63b1c4403182c042a14cac96bcd5b465938 --- /dev/null +++ b/backend/dist/visited/dto/update-visited.dto.d.ts @@ -0,0 +1,5 @@ +import { CreateVisitedDto } from './create-visited.dto'; +declare const UpdateVisitedDto_base: import("@nestjs/common").Type>; +export declare class UpdateVisitedDto extends UpdateVisitedDto_base { +} +export {}; diff --git a/backend/dist/visited/dto/update-visited.dto.js b/backend/dist/visited/dto/update-visited.dto.js new file mode 100644 index 0000000000000000000000000000000000000000..32ab7551ba50107ddc181ded4f99153c51b0b23c --- /dev/null +++ b/backend/dist/visited/dto/update-visited.dto.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UpdateVisitedDto = void 0; +const swagger_1 = require("@nestjs/swagger"); +const create_visited_dto_1 = require("./create-visited.dto"); +class UpdateVisitedDto extends (0, swagger_1.PartialType)(create_visited_dto_1.CreateVisitedDto) { +} +exports.UpdateVisitedDto = UpdateVisitedDto; +//# sourceMappingURL=update-visited.dto.js.map \ No newline at end of file diff --git a/backend/dist/visited/dto/update-visited.dto.js.map b/backend/dist/visited/dto/update-visited.dto.js.map new file mode 100644 index 0000000000000000000000000000000000000000..e3470152bb1998704876a88228e91b1be1e1421b --- /dev/null +++ b/backend/dist/visited/dto/update-visited.dto.js.map @@ -0,0 +1 @@ +{"version":3,"file":"update-visited.dto.js","sourceRoot":"","sources":["../../../src/visited/dto/update-visited.dto.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,6DAAwD;AAExD,MAAa,gBAAiB,SAAQ,IAAA,qBAAW,EAAC,qCAAgB,CAAC;CAAG;AAAtE,4CAAsE"} \ No newline at end of file diff --git a/backend/dist/visited/entities/visited.entity.d.ts b/backend/dist/visited/entities/visited.entity.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..1dd5d360d72a790917f29ccadc26b272d031e272 --- /dev/null +++ b/backend/dist/visited/entities/visited.entity.d.ts @@ -0,0 +1,9 @@ +import { Place } from 'src/place/entities/place.entity'; +import { User } from 'src/user/entities/user.entity'; +export declare class Visited { + idVisited: number; + place: Place; + user: User; + rating: number; + date: Date; +} diff --git a/backend/dist/visited/entities/visited.entity.js b/backend/dist/visited/entities/visited.entity.js new file mode 100644 index 0000000000000000000000000000000000000000..d0e968839158ee8548b79d5a6c7e649bd6a2e37e --- /dev/null +++ b/backend/dist/visited/entities/visited.entity.js @@ -0,0 +1,44 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Visited = void 0; +const place_entity_1 = require("../../place/entities/place.entity"); +const user_entity_1 = require("../../user/entities/user.entity"); +const typeorm_1 = require("typeorm"); +let Visited = class Visited { +}; +exports.Visited = Visited; +__decorate([ + (0, typeorm_1.PrimaryGeneratedColumn)(), + __metadata("design:type", Number) +], Visited.prototype, "idVisited", void 0); +__decorate([ + (0, typeorm_1.OneToOne)(() => place_entity_1.Place, (place) => place.idPlace, { eager: true }), + (0, typeorm_1.JoinColumn)({ name: 'place' }), + __metadata("design:type", place_entity_1.Place) +], Visited.prototype, "place", void 0); +__decorate([ + (0, typeorm_1.ManyToOne)(() => user_entity_1.User, (user) => user.email), + (0, typeorm_1.JoinColumn)({ name: 'user' }), + __metadata("design:type", user_entity_1.User) +], Visited.prototype, "user", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: false }), + __metadata("design:type", Number) +], Visited.prototype, "rating", void 0); +__decorate([ + (0, typeorm_1.Column)({ nullable: true, default: () => 'CURRENT_TIMESTAMP' }), + __metadata("design:type", Date) +], Visited.prototype, "date", void 0); +exports.Visited = Visited = __decorate([ + (0, typeorm_1.Entity)() +], Visited); +//# sourceMappingURL=visited.entity.js.map \ No newline at end of file diff --git a/backend/dist/visited/entities/visited.entity.js.map b/backend/dist/visited/entities/visited.entity.js.map new file mode 100644 index 0000000000000000000000000000000000000000..fe3b1837df949e02aefc8bbc3abb23042a5b0207 --- /dev/null +++ b/backend/dist/visited/entities/visited.entity.js.map @@ -0,0 +1 @@ +{"version":3,"file":"visited.entity.js","sourceRoot":"","sources":["../../../src/visited/entities/visited.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oEAAwD;AACxD,iEAAqD;AACrD,qCAAkG;AAG3F,IAAM,OAAO,GAAb,MAAM,OAAO;CAiBnB,CAAA;AAjBY,0BAAO;AAElB;IADC,IAAA,gCAAsB,GAAE;;0CACP;AAIlB;IAFC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,oBAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAChE,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8BACvB,oBAAK;sCAAC;AAIb;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,kBAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;IAC3C,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8BACvB,kBAAI;qCAAC;AAGX;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;uCACb;AAGf;IADC,IAAA,gBAAM,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;8BACzD,IAAI;qCAAC;kBAhBA,OAAO;IADnB,IAAA,gBAAM,GAAE;GACI,OAAO,CAiBnB"} \ No newline at end of file diff --git a/backend/dist/visited/templates/visit_template.d.ts b/backend/dist/visited/templates/visit_template.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..9a4885393f31de06788438d87b421f3c6d8a3c99 --- /dev/null +++ b/backend/dist/visited/templates/visit_template.d.ts @@ -0,0 +1 @@ +export declare const visit_template: (places: string[]) => string; diff --git a/backend/dist/visited/templates/visit_template.js b/backend/dist/visited/templates/visit_template.js new file mode 100644 index 0000000000000000000000000000000000000000..3f6fe6854519bc7ee192aba5617f2f7db8295511 --- /dev/null +++ b/backend/dist/visited/templates/visit_template.js @@ -0,0 +1,131 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.visit_template = void 0; +const visit_template = (places) => ` + + + + + + Document + + + +
+
+

Jerez de García Salinas, Zacatecas

+
+
+ ${places + .map((place) => `
+ +
`) + .join('\n')} +
+ +
+
+ + +`; +exports.visit_template = visit_template; +//# sourceMappingURL=visit_template.js.map \ No newline at end of file diff --git a/backend/dist/visited/templates/visit_template.js.map b/backend/dist/visited/templates/visit_template.js.map new file mode 100644 index 0000000000000000000000000000000000000000..00bab434a0c0d9f21451015738ff54abda9feb4b --- /dev/null +++ b/backend/dist/visited/templates/visit_template.js.map @@ -0,0 +1 @@ +{"version":3,"file":"visit_template.js","sourceRoot":"","sources":["../../../src/visited/templates/visit_template.ts"],"names":[],"mappings":";;;AAAO,MAAM,cAAc,GAAG,CAAC,MAAgB,EAAE,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA4G5C,MAAM;KACL,GAAG,CACF,CAAC,KAAK,EAAE,EAAE,CAAC;;qBAEA,KAAK;;;eAGX,CACN;KACA,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;CAUlB,CAAC;AA/HW,QAAA,cAAc,kBA+HzB"} \ No newline at end of file diff --git a/backend/dist/visited/utils/visited_places_image_creator.d.ts b/backend/dist/visited/utils/visited_places_image_creator.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..07fd183485211b22d8a67d036fbe2d76ef5a5a92 --- /dev/null +++ b/backend/dist/visited/utils/visited_places_image_creator.d.ts @@ -0,0 +1,4 @@ +export declare class VisitedPlacesImageCreator { + generateImage(imagesURL: string[]): Promise; + private getTemplate; +} diff --git a/backend/dist/visited/utils/visited_places_image_creator.js b/backend/dist/visited/utils/visited_places_image_creator.js new file mode 100644 index 0000000000000000000000000000000000000000..b127a016bad022553486a5273251000a78579ae0 --- /dev/null +++ b/backend/dist/visited/utils/visited_places_image_creator.js @@ -0,0 +1,43 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.VisitedPlacesImageCreator = void 0; +const ejs_1 = require("ejs"); +const fs_1 = require("fs"); +const puppeteer_1 = require("puppeteer"); +const crypto_1 = require("crypto"); +const path_1 = require("path"); +const visit_template_1 = require("../templates/visit_template"); +const server_contants_1 = require("../../constants/server.contants"); +class VisitedPlacesImageCreator { + async generateImage(imagesURL) { + try { + const template = this.getTemplate(imagesURL); + const browser = await puppeteer_1.default.launch(); + const page = await browser.newPage(); + await page.setContent(template); + await page.setViewport({ width: 470, height: 320, deviceScaleFactor: 2 }); + const outDir = (0, path_1.join)(__dirname, "../../../static/visits"); + if (!(0, fs_1.existsSync)(outDir)) { + (0, fs_1.mkdir)(outDir, { recursive: true }, (err) => { + if (err) + throw err; + }); + } + const imageName = `${(0, crypto_1.randomUUID)()}.png`; + const outPath = (0, path_1.join)(outDir, imageName); + await page.screenshot({ path: outPath }); + await browser.close(); + return (0, path_1.join)(server_contants_1.ServerConstants.HOST, "visits", imageName); + } + catch (error) { + console.log(error); + throw error; + } + } + getTemplate(images) { + const template = (0, visit_template_1.visit_template)(images); + return (0, ejs_1.render)(template, { images }); + } +} +exports.VisitedPlacesImageCreator = VisitedPlacesImageCreator; +//# sourceMappingURL=visited_places_image_creator.js.map \ No newline at end of file diff --git a/backend/dist/visited/utils/visited_places_image_creator.js.map b/backend/dist/visited/utils/visited_places_image_creator.js.map new file mode 100644 index 0000000000000000000000000000000000000000..a7c0cec4d20c09102a486201b64ce9fd6c3b4bce --- /dev/null +++ b/backend/dist/visited/utils/visited_places_image_creator.js.map @@ -0,0 +1 @@ +{"version":3,"file":"visited_places_image_creator.js","sourceRoot":"","sources":["../../../src/visited/utils/visited_places_image_creator.ts"],"names":[],"mappings":";;;AAAA,6BAA6B;AAC7B,2BAAqD;AACrD,yCAAkC;AAClC,mCAAoC;AACpC,+BAA4B;AAC5B,gEAA6D;AAC7D,qEAAgE;AAEhE,MAAa,yBAAyB;IAC3B,KAAK,CAAC,aAAa,CAAC,SAAmB;QAC1C,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,MAAM,mBAAS,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1E,MAAM,MAAM,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;YACzD,IAAI,CAAC,IAAA,eAAU,EAAC,MAAM,CAAC,EAAE,CAAC;gBACtB,IAAA,UAAK,EAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;oBACvC,IAAI,GAAG;wBAAE,MAAM,GAAG,CAAC;gBACvB,CAAC,CAAC,CAAC;YACP,CAAC;YACD,MAAM,SAAS,GAAG,GAAG,IAAA,mBAAU,GAAE,MAAM,CAAC;YACxC,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACzC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YAEtB,OAAO,IAAA,WAAI,EAAC,iCAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACnB,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAEO,WAAW,CAAC,MAAgB;QAChC,MAAM,QAAQ,GAAG,IAAA,+BAAc,EAAC,MAAM,CAAC,CAAC;QACxC,OAAO,IAAA,YAAM,EAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;CACJ;AA/BD,8DA+BC"} \ No newline at end of file diff --git a/backend/dist/visited/visited.controller.d.ts b/backend/dist/visited/visited.controller.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..8153cdefc0912868af8d9119c744418952233292 --- /dev/null +++ b/backend/dist/visited/visited.controller.d.ts @@ -0,0 +1,32 @@ +import { VisitedService } from './visited.service'; +import { CreateVisitedDto } from './dto/create-visited.dto'; +import { CustomUserRequest } from 'src/auth/user/interface/customUserReq'; +export declare class VisitedController { + private readonly visitedService; + constructor(visitedService: VisitedService); + create(createVisitedDto: CreateVisitedDto, req: CustomUserRequest): Promise; + getVisitedPlacesImage(routeId: string): Promise; + findAllByUser(req: CustomUserRequest): Promise<{ + place: { + imageName: string; + idPlace: number; + town: import("src/town/entities/town.entity").Town; + points: import("src/pointOfInterest/entities/PointOfInterest.entity").PointOfInterest[]; + availableDates: import("src/place/entities/available-date.entity").AvailableDate[]; + categories: import("src/category/entities/category.entity").Category[]; + placeTraduction: import("src/place/entities/place-traduction.entity").PlaceTraduction[]; + visited: import("src/visited/entities/visited.entity").Visited[]; + available: import("src/pointOfInterest/enum/available.enum").Available; + name: string; + latitude: any; + longitude: any; + address: string; + openAt: number; + closeAt: number; + }; + idVisited: number; + user: import("src/user/entities/user.entity").User; + rating: number; + date: Date; + }[]>; +} diff --git a/backend/dist/visited/visited.controller.js b/backend/dist/visited/visited.controller.js new file mode 100644 index 0000000000000000000000000000000000000000..97197543e183077caf5389dc9c1052444a8938af --- /dev/null +++ b/backend/dist/visited/visited.controller.js @@ -0,0 +1,74 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.VisitedController = void 0; +const common_1 = require("@nestjs/common"); +const visited_service_1 = require("./visited.service"); +const create_visited_dto_1 = require("./dto/create-visited.dto"); +const swagger_1 = require("@nestjs/swagger"); +const authUser_guard_1 = require("../auth/user/authUser.guard"); +let VisitedController = class VisitedController { + constructor(visitedService) { + this.visitedService = visitedService; + } + async create(createVisitedDto, req) { + try { + const { email } = req.user; + return await this.visitedService.create(createVisitedDto, email); + } + catch (e) { + return e; + } + } + async getVisitedPlacesImage(routeId) { + return await this.visitedService.getVisitedPlacesImage(+routeId); + } + async findAllByUser(req) { + const { email } = req.user; + return this.visitedService.findAllByUser(email); + } +}; +exports.VisitedController = VisitedController; +__decorate([ + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, common_1.UseGuards)(authUser_guard_1.AuthUserGuard), + (0, common_1.Post)(), + __param(0, (0, common_1.Body)()), + __param(1, (0, common_1.Req)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [create_visited_dto_1.CreateVisitedDto, Object]), + __metadata("design:returntype", Promise) +], VisitedController.prototype, "create", null); +__decorate([ + (0, common_1.Get)('/getImage/:routeId'), + __param(0, (0, common_1.Param)('routeId')), + __metadata("design:type", Function), + __metadata("design:paramtypes", [String]), + __metadata("design:returntype", Promise) +], VisitedController.prototype, "getVisitedPlacesImage", null); +__decorate([ + (0, common_1.UseGuards)(authUser_guard_1.AuthUserGuard), + (0, swagger_1.ApiBearerAuth)('jwt'), + (0, common_1.Get)('/user/'), + __param(0, (0, common_1.Req)()), + __metadata("design:type", Function), + __metadata("design:paramtypes", [Object]), + __metadata("design:returntype", Promise) +], VisitedController.prototype, "findAllByUser", null); +exports.VisitedController = VisitedController = __decorate([ + (0, common_1.Controller)('visited'), + (0, swagger_1.ApiTags)('Visited places'), + __metadata("design:paramtypes", [visited_service_1.VisitedService]) +], VisitedController); +//# sourceMappingURL=visited.controller.js.map \ No newline at end of file diff --git a/backend/dist/visited/visited.controller.js.map b/backend/dist/visited/visited.controller.js.map new file mode 100644 index 0000000000000000000000000000000000000000..1dd49379fc62bd74b698f820d2233a930cd80525 --- /dev/null +++ b/backend/dist/visited/visited.controller.js.map @@ -0,0 +1 @@ +{"version":3,"file":"visited.controller.js","sourceRoot":"","sources":["../../src/visited/visited.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA4F;AAC5F,uDAAmD;AACnD,iEAA4D;AAC5D,6CAAyD;AACzD,gEAA6D;AAMtD,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAKzD,AAAN,KAAK,CAAC,MAAM,CAAS,gBAAkC,EAAS,GAAsB;QACpF,IAAI,CAAC;YACH,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YAC3B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,qBAAqB,CAAmB,OAAe;QAC3D,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAKK,AAAN,KAAK,CAAC,aAAa,CAAQ,GAAsB;QAC/C,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;QAC3B,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;CACF,CAAA;AA3BY,8CAAiB;AAMtB;IAHL,IAAA,uBAAa,EAAC,KAAK,CAAC;IACpB,IAAA,kBAAS,EAAC,8BAAa,CAAC;IACxB,IAAA,aAAI,GAAE;IACO,WAAA,IAAA,aAAI,GAAE,CAAA;IAAsC,WAAA,IAAA,YAAG,GAAE,CAAA;;qCAAxB,qCAAgB;;+CAOtD;AAGK;IADL,IAAA,YAAG,EAAC,oBAAoB,CAAC;IACG,WAAA,IAAA,cAAK,EAAC,SAAS,CAAC,CAAA;;;;8DAE5C;AAKK;IAHL,IAAA,kBAAS,EAAC,8BAAa,CAAC;IACxB,IAAA,uBAAa,EAAC,KAAK,CAAC;IACpB,IAAA,YAAG,EAAC,QAAQ,CAAC;IACO,WAAA,IAAA,YAAG,GAAE,CAAA;;;;sDAGzB;4BA1BU,iBAAiB;IAF7B,IAAA,mBAAU,EAAC,SAAS,CAAC;IACrB,IAAA,iBAAO,EAAC,gBAAgB,CAAC;qCAEqB,gCAAc;GADhD,iBAAiB,CA2B7B"} \ No newline at end of file diff --git a/backend/dist/visited/visited.module.d.ts b/backend/dist/visited/visited.module.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..4af361ee9b1e8aaa4257727c06dd22f7217d80db --- /dev/null +++ b/backend/dist/visited/visited.module.d.ts @@ -0,0 +1,2 @@ +export declare class VisitedModule { +} diff --git a/backend/dist/visited/visited.module.js b/backend/dist/visited/visited.module.js new file mode 100644 index 0000000000000000000000000000000000000000..7faca05580039d6e24636879795e3263a23b9932 --- /dev/null +++ b/backend/dist/visited/visited.module.js @@ -0,0 +1,66 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.VisitedModule = void 0; +const common_1 = require("@nestjs/common"); +const visited_service_1 = require("./visited.service"); +const visited_controller_1 = require("./visited.controller"); +const typeorm_1 = require("@nestjs/typeorm"); +const user_service_1 = require("../user/user.service"); +const place_service_1 = require("../place/place.service"); +const user_entity_1 = require("../user/entities/user.entity"); +const place_entity_1 = require("../place/entities/place.entity"); +const visited_entity_1 = require("./entities/visited.entity"); +const category_service_1 = require("../category/category.service"); +const category_entity_1 = require("../category/entities/category.entity"); +const available_date_entity_1 = require("../place/entities/available-date.entity"); +const place_traduction_entity_1 = require("../place/entities/place-traduction.entity"); +const town_entity_1 = require("../town/entities/town.entity"); +const authUserservice_1 = require("../auth/user/authUserservice"); +const jwt_1 = require("@nestjs/jwt"); +const encryption_service_1 = require("../auth/encryption/encryption.service"); +const user_reset_code_entity_1 = require("../auth/user/entities/user-reset-code.entity"); +const user_confirm_code_entity_1 = require("../auth/user/entities/user-confirm-code.entity"); +const email_service_1 = require("../email/email.service"); +const travel_place_entity_1 = require("../travel-place/entities/travel-place.entity"); +const route_module_1 = require("../route/route.module"); +let VisitedModule = class VisitedModule { +}; +exports.VisitedModule = VisitedModule; +exports.VisitedModule = VisitedModule = __decorate([ + (0, common_1.Module)({ + controllers: [visited_controller_1.VisitedController], + providers: [ + visited_service_1.VisitedService, + user_service_1.UserService, + place_service_1.PlaceService, + category_service_1.CategoryService, + authUserservice_1.AuthUserService, + jwt_1.JwtService, + encryption_service_1.EncryptionService, + email_service_1.EmailService, + ], + imports: [ + (0, common_1.forwardRef)(() => route_module_1.RouteModule), + typeorm_1.TypeOrmModule.forFeature([ + user_entity_1.User, + place_entity_1.Place, + visited_entity_1.Visited, + category_entity_1.Category, + available_date_entity_1.AvailableDate, + place_traduction_entity_1.PlaceTraduction, + town_entity_1.Town, + visited_entity_1.Visited, + user_reset_code_entity_1.UserResetCode, + user_confirm_code_entity_1.UserConfirmCode, + travel_place_entity_1.TravelPlace, + ]), + ], + }) +], VisitedModule); +//# sourceMappingURL=visited.module.js.map \ No newline at end of file diff --git a/backend/dist/visited/visited.module.js.map b/backend/dist/visited/visited.module.js.map new file mode 100644 index 0000000000000000000000000000000000000000..643c223c26930650dfc9f313ced20170d9897738 --- /dev/null +++ b/backend/dist/visited/visited.module.js.map @@ -0,0 +1 @@ +{"version":3,"file":"visited.module.js","sourceRoot":"","sources":["../../src/visited/visited.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAoD;AACpD,uDAAmD;AACnD,6DAAyD;AACzD,6CAAgD;AAChD,uDAAoD;AACpD,0DAAuD;AACvD,8DAAqD;AACrD,iEAAwD;AACxD,8DAAoD;AACpD,mEAAgE;AAChE,0EAAiE;AACjE,mFAAyE;AACzE,uFAA6E;AAC7E,8DAAqD;AACrD,kEAAgE;AAChE,qCAAyC;AACzC,8EAA2E;AAC3E,yFAA8E;AAC9E,6FAAkF;AAClF,0DAAuD;AACvD,sFAA4E;AAC5E,wDAAqD;AAgC9C,IAAM,aAAa,GAAnB,MAAM,aAAa;CAAG,CAAA;AAAhB,sCAAa;wBAAb,aAAa;IA7BzB,IAAA,eAAM,EAAC;QACN,WAAW,EAAE,CAAC,sCAAiB,CAAC;QAChC,SAAS,EAAE;YACT,gCAAc;YACd,0BAAW;YACX,4BAAY;YACZ,kCAAe;YACf,iCAAe;YACf,gBAAU;YACV,sCAAiB;YACjB,4BAAY;SACb;QACD,OAAO,EAAE;YACP,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAW,CAAC;YAC7B,uBAAa,CAAC,UAAU,CAAC;gBACvB,kBAAI;gBACJ,oBAAK;gBACL,wBAAO;gBACP,0BAAQ;gBACR,qCAAa;gBACb,yCAAe;gBACf,kBAAI;gBACJ,wBAAO;gBACP,sCAAa;gBACb,0CAAe;gBACf,iCAAW;aACZ,CAAC;SACH;KACF,CAAC;GACW,aAAa,CAAG"} \ No newline at end of file diff --git a/backend/dist/visited/visited.service.d.ts b/backend/dist/visited/visited.service.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..e6b6eefc060bb656df4903ed7b50228a47fc5ebb --- /dev/null +++ b/backend/dist/visited/visited.service.d.ts @@ -0,0 +1,42 @@ +import { Visited } from './entities/visited.entity'; +import { Repository } from 'typeorm'; +import { User } from 'src/user/entities/user.entity'; +import { UserService } from 'src/user/user.service'; +import { CreateVisitedDto } from './dto/create-visited.dto'; +import { PlaceService } from 'src/place/place.service'; +import { TravelPlace } from 'src/travel-place/entities/travel-place.entity'; +import { RouteService } from 'src/route/route.service'; +export declare class VisitedService { + private readonly routeService; + private visitedRepository; + private readonly userService; + private readonly placeService; + private travelPlaceRepository; + constructor(routeService: RouteService, visitedRepository: Repository, userService: UserService, placeService: PlaceService, travelPlaceRepository: Repository); + create(createVisitedDto: CreateVisitedDto, email: string): Promise; + getVisitedByUser(email: string): Promise; + findAllByUser(email: string): Promise<{ + place: { + imageName: string; + idPlace: number; + town: import("src/town/entities/town.entity").Town; + points: import("src/pointOfInterest/entities/PointOfInterest.entity").PointOfInterest[]; + availableDates: import("src/place/entities/available-date.entity").AvailableDate[]; + categories: import("src/category/entities/category.entity").Category[]; + placeTraduction: import("src/place/entities/place-traduction.entity").PlaceTraduction[]; + visited: Visited[]; + available: import("src/pointOfInterest/enum/available.enum").Available; + name: string; + latitude: any; + longitude: any; + address: string; + openAt: number; + closeAt: number; + }; + idVisited: number; + user: User; + rating: number; + date: Date; + }[]>; + getVisitedPlacesImage(routeId: number): Promise; +} diff --git a/backend/dist/visited/visited.service.js b/backend/dist/visited/visited.service.js new file mode 100644 index 0000000000000000000000000000000000000000..b7f06d101456c6bfc9f66823c0e8e1e4eb1ffce2 --- /dev/null +++ b/backend/dist/visited/visited.service.js @@ -0,0 +1,95 @@ +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +var __param = (this && this.__param) || function (paramIndex, decorator) { + return function (target, key) { decorator(target, key, paramIndex); } +}; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.VisitedService = void 0; +const common_1 = require("@nestjs/common"); +const typeorm_1 = require("@nestjs/typeorm"); +const visited_entity_1 = require("./entities/visited.entity"); +const typeorm_2 = require("typeorm"); +const user_service_1 = require("../user/user.service"); +const place_service_1 = require("../place/place.service"); +const visited_places_image_creator_1 = require("./utils/visited_places_image_creator"); +const server_contants_1 = require("../constants/server.contants"); +const travel_place_entity_1 = require("../travel-place/entities/travel-place.entity"); +const common_2 = require("@nestjs/common"); +const route_service_1 = require("../route/route.service"); +let VisitedService = class VisitedService { + constructor(routeService, visitedRepository, userService, placeService, travelPlaceRepository) { + this.routeService = routeService; + this.visitedRepository = visitedRepository; + this.userService = userService; + this.placeService = placeService; + this.travelPlaceRepository = travelPlaceRepository; + } + async create(createVisitedDto, email) { + const place = await this.placeService.findOne(createVisitedDto.idPlace); + const user = await this.userService.findOne(email); + if (!place || !user) + throw new common_1.BadRequestException('Place or user not found'); + try { + await this.travelPlaceRepository.update({ place }, { done: true }); + } + catch (error) { + console.log(error); + } + await this.visitedRepository.save({ place, user, rating: createVisitedDto.rating }); + } + async getVisitedByUser(email) { + const user = await this.userService.findOne(email); + return await this.visitedRepository.find({ + where: { user }, + relations: ['place', 'place.categories'], + }); + } + async findAllByUser(email) { + const res = await this.visitedRepository.find({ where: { user: { email } } }); + const visited = res.map((visit) => { + return { + ...visit, + place: { + ...visit.place, + imageName: `${server_contants_1.ServerConstants.HOST}/places/${visit.place.imageName}`, + }, + }; + }); + return visited; + } + async getVisitedPlacesImage(routeId) { + try { + const visitedPlaces = (await this.routeService.getRouteInfoById(routeId)).travelPlace + .filter((travelPlace) => travelPlace.done) + .map((travelPlace) => travelPlace.place.imageName) + .slice(0, 5); + console.info('visitedPlaces', visitedPlaces); + const visitedPlacesImageCreator = new visited_places_image_creator_1.VisitedPlacesImageCreator(); + return await visitedPlacesImageCreator.generateImage(visitedPlaces); + } + catch (error) { + throw new common_1.InternalServerErrorException('Error generating image'); + } + } +}; +exports.VisitedService = VisitedService; +exports.VisitedService = VisitedService = __decorate([ + (0, common_1.Injectable)(), + __param(0, (0, common_2.Inject)((0, common_2.forwardRef)(() => route_service_1.RouteService))), + __param(1, (0, typeorm_1.InjectRepository)(visited_entity_1.Visited)), + __param(4, (0, typeorm_1.InjectRepository)(travel_place_entity_1.TravelPlace)), + __metadata("design:paramtypes", [route_service_1.RouteService, + typeorm_2.Repository, + user_service_1.UserService, + place_service_1.PlaceService, + typeorm_2.Repository]) +], VisitedService); +//# sourceMappingURL=visited.service.js.map \ No newline at end of file diff --git a/backend/dist/visited/visited.service.js.map b/backend/dist/visited/visited.service.js.map new file mode 100644 index 0000000000000000000000000000000000000000..acf189390262ad2997000419ca3e40bc2e0c6524 --- /dev/null +++ b/backend/dist/visited/visited.service.js.map @@ -0,0 +1 @@ +{"version":3,"file":"visited.service.js","sourceRoot":"","sources":["../../src/visited/visited.service.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/backend/docker-compose.yml b/backend/docker-compose.yml deleted file mode 100644 index 2dce13ef30b98d7444f08588dd80c6de080b5890..0000000000000000000000000000000000000000 --- a/backend/docker-compose.yml +++ /dev/null @@ -1,11 +0,0 @@ -version: '3.7' - -services: - api: - build: - context: . - dockerfile: dockerfile - command: npm start - ports: - - 3001:3000 # Map host port 3001 to container port 3000 - # - 9229:9229 # Map host port 9229 to container port 9229 diff --git a/backend/dockerfile b/backend/dockerfile deleted file mode 100644 index bf1a71ef9047abe118c0f1f468768028bd5b23ba..0000000000000000000000000000000000000000 --- a/backend/dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM node - -WORKDIR /api - -RUN apt-get update && \ - apt-get install -y wget gnupg && \ - wget -qO - https://dl.google.com/linux/linux_signing_key.pub | apt-key add - && \ - echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list && \ - apt-get update && \ - apt-get install -y chromium - -COPY . . - -RUN npm install diff --git a/backend/src/app.module.ts b/backend/src/app.module.ts index 81fa18fa862dfe72676ce62934dfd92a67cd12f3..fba84dc0de8adbfece5b00be20302de95fe542af 100644 --- a/backend/src/app.module.ts +++ b/backend/src/app.module.ts @@ -44,10 +44,10 @@ import { UserConfirmCode } from './auth/user/entities/user-confirm-code.entity'; TypeOrmModule.forRoot({ type: 'mysql', host: DbConstants.DB_HOST, - port: DbConstants.DB_PORT, username: DbConstants.DB_USER, password: DbConstants.DB_PASSWORD, database: DbConstants.DB_NAME, + url: DbConstants.DB_URL, entities: [ Admin, User, diff --git a/backend/src/constants/db.constants.ts b/backend/src/constants/db.constants.ts index 895c209a7caa22d4405a463cd9e3914c85397aae..112cbe2212b49bdee161c1dc5806a9c697a761ec 100644 --- a/backend/src/constants/db.constants.ts +++ b/backend/src/constants/db.constants.ts @@ -5,4 +5,5 @@ export class DbConstants { static DB_PASSWORD: string = process.env.DB_PASSWORD || 'root'; static DB_NAME: string = process.env.DB_NAME || 'pueblos'; static DB_SYNC: boolean = process.env.DB_SYNC === 'true'; + static DB_URL: string = process.env.DB_URL || null; } diff --git a/backend/src/constants/server.contants.ts b/backend/src/constants/server.contants.ts index ec36e1ceaa76e1ab6453190fd4bdd44d8332b1bf..328954439be603af5126631caa65cbcf8bba30d5 100644 --- a/backend/src/constants/server.contants.ts +++ b/backend/src/constants/server.contants.ts @@ -9,7 +9,7 @@ dotenv.config(); export class ServerConstants { static PORT: number = process.env.SERVER_PORT ? parseInt(process.env.SERVER_PORT) : 3003; static IP: string = publicIp || 'http://localhost'; - static HOST: string = `http://${publicIp || 'localhost'}:${this.PORT}`; + static HOST: string = `https://superb-amazement-production.up.railway.app`; static ROOT_PATH: string = join(__dirname, '..', '..'); static ROOT_STATIC_PATH: string = join(__dirname, '..', '..', 'static'); } @@ -17,5 +17,5 @@ export class ServerConstants { network.get_private_ip(function (err, ip) { publicIp = ip; ServerConstants.IP = publicIp; - ServerConstants.HOST = `http://${publicIp || 'localhost'}:${ServerConstants.PORT}`; + ServerConstants.HOST = `https://superb-amazement-production.up.railway.app`; }); diff --git a/backend/src/main.ts b/backend/src/main.ts index 8070ac6840348507b69afd5a0dd195cf5260b8e4..325fde143a7b58e41d6bdcae4884df20fea4f8e0 100644 --- a/backend/src/main.ts +++ b/backend/src/main.ts @@ -4,6 +4,29 @@ import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger'; import { ServerConstants } from './constants/server.contants'; import { ValidationPipe } from '@nestjs/common'; import * as dotenv from 'dotenv'; +import * as fs from 'fs'; +import * as path from 'path'; + +function printTree(dir, depth = 0) { + // Lee el contenido del directorio + const files = fs.readdirSync(dir); + + files.forEach((file) => { + const filePath = path.join(dir, file); + const stat = fs.statSync(filePath); + + // Ignora la carpeta node_modules + if (file === 'node_modules') return; + + // Imprime la estructura con indentación + console.log(' '.repeat(depth * 2) + '|-- ' + file); + + // Si es un directorio, lo recorre de forma recursiva + if (stat.isDirectory()) { + printTree(filePath, depth + 1); + } + }); +} async function bootstrap() { dotenv.config(); @@ -31,6 +54,7 @@ async function bootstrap() { SwaggerModule.setup('api', app, document); app.enableCors(); await app.listen(ServerConstants.PORT); + printTree('/app'); console.log(`Application is running on: ${await app.getUrl()}`); console.log(`API documentation at: ${await app.getUrl()}/api`); } diff --git a/backend/src/pointOfInterest/PointOfInterest.service.ts b/backend/src/pointOfInterest/PointOfInterest.service.ts index 1be3ce47c147f35afee7a35586b9e88bcf99aff1..1845d8d7838d36c9df3542dcdc8a471b1ac7aecd 100644 --- a/backend/src/pointOfInterest/PointOfInterest.service.ts +++ b/backend/src/pointOfInterest/PointOfInterest.service.ts @@ -229,7 +229,9 @@ export class PointOfInterestService { async generatePdf(idPlace: number, pointsId: number[]): Promise { const points = await this.findAllByIds(idPlace, pointsId); const htmlContent = this.generateHtml(points); - const browser = await puppeteer.launch(); + const browser = await puppeteer.connect({ + browserWSEndpoint: 'https://trustworthy-peace-production.up.railway.app/', + }); const page = await browser.newPage(); await page.setContent(htmlContent); @@ -251,9 +253,7 @@ export class PointOfInterestService { cardsHtml += `
- +

${point.namePlace}

${point.name}

diff --git a/backend/src/visited/utils/visited_places_image_creator.ts b/backend/src/visited/utils/visited_places_image_creator.ts index 7fd342e4509c4e2672a0d87d1345b93346915f20..360869af8e5d55787d34edbe4a32e149cdc23655 100644 --- a/backend/src/visited/utils/visited_places_image_creator.ts +++ b/backend/src/visited/utils/visited_places_image_creator.ts @@ -7,34 +7,35 @@ import { visit_template } from '../templates/visit_template'; import { ServerConstants } from 'src/constants/server.contants'; export class VisitedPlacesImageCreator { - public async generateImage(imagesURL: string[]) { - try { - const template = this.getTemplate(imagesURL); - const browser = await puppeteer.launch(); - const page = await browser.newPage(); - await page.setContent(template); - await page.setViewport({ width: 470, height: 320, deviceScaleFactor: 2 }); - const outDir = join(__dirname, "../../../static/visits"); - if (!existsSync(outDir)) { - mkdir(outDir, { recursive: true }, (err) => { - if (err) throw err; - }); - } - const imageName = `${randomUUID()}.png`; - const outPath = join(outDir, imageName); - await page.screenshot({ path: outPath }); - await browser.close(); + public async generateImage(imagesURL: string[]) { + try { + const template = this.getTemplate(imagesURL); + const browser = await puppeteer.connect({ + browserWSEndpoint: 'https://trustworthy-peace-production.up.railway.app/', + }); + const page = await browser.newPage(); + await page.setContent(template); + await page.setViewport({ width: 470, height: 320, deviceScaleFactor: 2 }); + const outDir = join(__dirname, '../../../static/visits'); + if (!existsSync(outDir)) { + mkdir(outDir, { recursive: true }, (err) => { + if (err) throw err; + }); + } + const imageName = `${randomUUID()}.png`; + const outPath = join(outDir, imageName); + await page.screenshot({ path: outPath }); + await browser.close(); - return join(ServerConstants.HOST, "visits", imageName); - - } catch (error) { - console.log(error); - throw error; - } + return join(ServerConstants.HOST, 'visits', imageName); + } catch (error) { + console.log(error); + throw error; } + } - private getTemplate(images: string[]) { - const template = visit_template(images); - return render(template, { images }); - } -} \ No newline at end of file + private getTemplate(images: string[]) { + const template = visit_template(images); + return render(template, { images }); + } +} diff --git a/backend/static/qr/example.png b/backend/static/audios/h.html similarity index 100% rename from backend/static/qr/example.png rename to backend/static/audios/h.html diff --git a/backend/static/index.html b/backend/static/index.html new file mode 100644 index 0000000000000000000000000000000000000000..981175e8cf1ab6eeaff40a15c25239b24e1ae4e3 --- /dev/null +++ b/backend/static/index.html @@ -0,0 +1 @@ + diff --git a/backend/static/places/default.jpeg b/backend/static/places/default.jpeg deleted file mode 100644 index a20424e9462de9eecc11a18ead64ba6a2d36b13c..0000000000000000000000000000000000000000 Binary files a/backend/static/places/default.jpeg and /dev/null differ diff --git a/backend/static/places/h.html b/backend/static/places/h.html new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/backend/static/points/default.jpeg b/backend/static/points/default.jpeg deleted file mode 100644 index a20424e9462de9eecc11a18ead64ba6a2d36b13c..0000000000000000000000000000000000000000 Binary files a/backend/static/points/default.jpeg and /dev/null differ diff --git a/backend/static/points/h.html b/backend/static/points/h.html new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/backend/static/qr/h.html b/backend/static/qr/h.html new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/backend/static/visits/h.html b/backend/static/visits/h.html new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/mobile/app.json b/mobile/app.json index be791f72bfad58b345f76f42a757f827d9fabd7d..6ba61d362b1901709d07b4fb24bda420992faeed 100644 --- a/mobile/app.json +++ b/mobile/app.json @@ -12,18 +12,32 @@ "resizeMode": "contain", "backgroundColor": "#ffffff" }, - "assetBundlePatterns": [ - "**/*" - ], + "assetBundlePatterns": ["**/*"], "ios": { - "supportsTablet": true + "supportsTablet": true, + "infoPlist": { + "NSPhotoLibraryUsageDescription": "Allow $(PRODUCT_NAME) to access your photos.", + "NSPhotoLibraryAddUsageDescription": "Allow $(PRODUCT_NAME) to save photos." + } }, "android": { "adaptiveIcon": { "foregroundImage": "./assets/adaptive-icon.png", "backgroundColor": "#ffffff" }, - "package": "com.lorenzotrujillo.mobile" + "config": { + "googleMaps": { + "apiKey": "" + } + }, + "package": "com.lorenzotrujillo.mobile", + "permissions": [ + "android.permission.CAMERA", + "android.permission.RECORD_AUDIO", + "android.permission.READ_EXTERNAL_STORAGE", + "android.permission.WRITE_EXTERNAL_STORAGE", + "android.permission.ACCESS_MEDIA_LOCATION" + ] }, "web": { "favicon": "./assets/favicon.png" @@ -61,10 +75,8 @@ "expo-secure-store", "expo-localization" ], + "owner": "lorenzotrujillo", "extra": { - "router": { - "origin": false - }, "eas": { "projectId": "e886fd36-a509-4844-bc03-c722bb61a245" } diff --git a/mobile/app/_layout.tsx b/mobile/app/_layout.tsx index 0a2b0091972113e1420b55349b5d8da4968b600d..efe5e11dd6d926460c0df915dceb6e3ff1027f3e 100644 --- a/mobile/app/_layout.tsx +++ b/mobile/app/_layout.tsx @@ -45,10 +45,6 @@ const MainLayout = () => { console.log("Profile Loading: ", profileLoading); }, [isLoading, profileLoading]); - if (isLoading || profileLoading) { - return ; - } - return ( + Activity not found ); diff --git a/mobile/src/auth/contexts/auth_context.tsx b/mobile/src/auth/contexts/auth_context.tsx index 8933c1920663d3edbc8e5f51355c16c3684a2f1c..02cc569d2ec817da29b8587c77c080af31f73e1d 100644 --- a/mobile/src/auth/contexts/auth_context.tsx +++ b/mobile/src/auth/contexts/auth_context.tsx @@ -7,6 +7,7 @@ import { } from "react"; import { UserInfoEntity } from "../domain/entities/user_info_entity"; import * as SecureStore from "expo-secure-store"; +import AsyncStorage from "@react-native-async-storage/async-storage"; import axios from "axios"; import { UserPreferences } from "../../common/domain/entities/user_preferences"; @@ -34,48 +35,52 @@ export const AuthContextProvider = ({ children }: AuthContextProviderProps) => { const [isLoading, setIsLoading] = useState(true); const checkSession = async () => { - const user = await SecureStore.getItemAsync("user"); - const token = await SecureStore.getItemAsync("token"); - console.log(user); - console.log(token); - if (user && token) { - const recoveredUser = JSON.parse(user) as UserInfoEntity; - setUser(recoveredUser); - const ssKey = recoveredUser.email.split("@")[0]; - const userPreferences = await SecureStore.getItemAsync(ssKey); - if (userPreferences) { - const parsedUserPreferences = JSON.parse( - userPreferences - ) as UserPreferences; - setIsVerified(parsedUserPreferences.isVerifiedEmail); - } else { - const emptyUserPreferences = { - isFirstTime: true, - isVerifiedEmail: false, - }; - await SecureStore.setItemAsync( - ssKey, - JSON.stringify(emptyUserPreferences) - ); - setIsVerified(false); + try { + const user = SecureStore.getItem("user"); + const token = SecureStore.getItem("token"); + console.log(user); + console.log(token); + if (user && token) { + const recoveredUser = JSON.parse(user) as UserInfoEntity; + setUser(recoveredUser); + const ssKey = recoveredUser.email.split("@")[0]; + const userPreferences = await AsyncStorage.getItem(ssKey); + if (userPreferences) { + const parsedUserPreferences = JSON.parse( + userPreferences + ) as UserPreferences; + setIsVerified(parsedUserPreferences.isVerifiedEmail); + } else { + const emptyUserPreferences = { + isFirstTime: true, + isVerifiedEmail: false, + }; + await AsyncStorage.setItem( + ssKey, + JSON.stringify(emptyUserPreferences) + ); + setIsVerified(false); + } + axios.defaults.headers.common["Authorization"] = `Bearer ${token}`; } - axios.defaults.headers.common["Authorization"] = `Bearer ${token}`; + } catch { + console.log("Error checking session"); + setIsVerified(false); + } finally { + setIsLoading(false); } - setIsLoading(false); }; const verify = async () => { if (!user) return; const sskey = user.email.split("@")[0]; - const userPreferences = await SecureStore.getItemAsync(sskey); + const userPreferences = await AsyncStorage.getItem(sskey); if (!userPreferences) return; const parsedUserPreferences = JSON.parse( userPreferences ) as UserPreferences; - await SecureStore.setItemAsync( - sskey, - JSON.stringify({ ...parsedUserPreferences, isVerifiedEmail: true }) - ); + parsedUserPreferences.isVerifiedEmail = true; + await AsyncStorage.setItem(sskey, JSON.stringify(parsedUserPreferences)); setIsVerified(true); }; @@ -84,8 +89,8 @@ export const AuthContextProvider = ({ children }: AuthContextProviderProps) => { }; const login = async (userInfo: UserInfoEntity, token: string) => { - await SecureStore.setItemAsync("user", JSON.stringify(userInfo)); - await SecureStore.setItemAsync("token", token); + SecureStore.setItem("user", JSON.stringify(userInfo)); + SecureStore.setItem("token", token); await saveUser(userInfo); axios.defaults.headers.common["Authorization"] = `Bearer ${token}`; await verify(); diff --git a/mobile/src/auth/pages/reset_password_page_error.tsx b/mobile/src/auth/pages/reset_password_page_error.tsx index 9ea63bfa83dc7f4106308c9050f309d714a8d4b7..b9c751ebf64cfbdc9af9577310e2bbc41f396ce5 100644 --- a/mobile/src/auth/pages/reset_password_page_error.tsx +++ b/mobile/src/auth/pages/reset_password_page_error.tsx @@ -2,21 +2,29 @@ import { View, Text, StyleSheet } from "react-native"; import { FloatingBackButton } from "../../common/components/floating_back_button"; import { FloatingEndActionButton } from "../../common/components/floating_end_action_button"; import { router } from "expo-router"; +import { useTranslation } from "react-i18next"; +import { LANG_CONSTANTS } from "../../lang/lang"; export const ResetPasswordError = () => { - const onClick = () => { - router.replace("login"); - }; + const { t } = useTranslation(); + const onClick = () => { + router.replace("login"); + }; return ( - Reset Password Error + + {t(LANG_CONSTANTS.resetYourPasswordErrorScreenMainLabel)} + - We were unable to reset your password. Please try again. + {t(LANG_CONSTANTS.resetYourPasswordErrorScreenDescription)} - + ); -} +}; const styles = StyleSheet.create({ mainContainer: { @@ -33,4 +41,4 @@ const styles = StyleSheet.create({ fontSize: 16, marginBottom: 16, }, -}); \ No newline at end of file +}); diff --git a/mobile/src/auth/pages/verify_page.tsx b/mobile/src/auth/pages/verify_page.tsx index bdf85205e49719953b551237a2d1f272ae32c443..1b346f536dfbc684b5222c109f6d30247ece3ea4 100644 --- a/mobile/src/auth/pages/verify_page.tsx +++ b/mobile/src/auth/pages/verify_page.tsx @@ -4,11 +4,15 @@ import { useVerifyAccount } from "../hooks/useVerifyAccount"; import { ApiRequestStatus } from "../../common/const/api_request_states"; import { FullPageLoader } from "../../common/components/full_page_loader"; import { FloatingEndActionButton } from "../../common/components/floating_end_action_button"; +import { useTranslation } from "react-i18next"; +import { LANG_CONSTANTS } from "../../lang/lang"; export const VerifyScreen = () => { const { setValue, requestStatus, onSubmit, getNewResetCode } = useVerifyAccount(); + const { t } = useTranslation(); + if (requestStatus === ApiRequestStatus.LOADING) { return ; } @@ -19,7 +23,10 @@ export const VerifyScreen = () => { contentContainerStyle={styles.innerContainer} > - + ); }; diff --git a/mobile/src/common/components/caroussel/caroussel_tile.tsx b/mobile/src/common/components/caroussel/caroussel_tile.tsx index 7dda7a2da0bd2ba38ad59525000834f0939898b8..d82faa3715efd4d7ab517ed07e458e6a3ff6e56a 100644 --- a/mobile/src/common/components/caroussel/caroussel_tile.tsx +++ b/mobile/src/common/components/caroussel/caroussel_tile.tsx @@ -62,6 +62,8 @@ export const CarousselTile = memo( fontSize: 20, fontWeight: "bold", textAlign: "center", + backgroundColor: "rgba(0,0,0,0.5)", + padding: 10, }} > {item.name} diff --git a/mobile/src/common/components/modals/server_connection_error.tsx b/mobile/src/common/components/modals/server_connection_error.tsx index 4a5087e2859c130bc88e9496838d1f3c57655f1f..fefa09d012d17a956608b78a47ea0ba2464b25c2 100644 --- a/mobile/src/common/components/modals/server_connection_error.tsx +++ b/mobile/src/common/components/modals/server_connection_error.tsx @@ -1,5 +1,7 @@ +import { useTranslation } from "react-i18next"; import { FullPageMessageModal } from "../full_page_message_modal"; import { Text } from "react-native"; +import { LANG_CONSTANTS } from "../../../lang/lang"; interface ServerConnectionErrorModalProps { isErrorModalVisible: boolean; @@ -10,12 +12,13 @@ export const ServerConnectionErrorModal = ({ isErrorModalVisible, closeErrorModal, }: ServerConnectionErrorModalProps) => { + const { t } = useTranslation(); return ( closeErrorModal()} > - Error de conexión, intente más tarde + {t(LANG_CONSTANTS.commonConectionError)} ); }; diff --git a/mobile/src/common/components/rating_page/full_page_rating.tsx b/mobile/src/common/components/rating_page/full_page_rating.tsx index 515607f73b3bf38f713f96758793e7b9249f009b..d28effa1840b4adbd7baac78caed2d71f462955a 100644 --- a/mobile/src/common/components/rating_page/full_page_rating.tsx +++ b/mobile/src/common/components/rating_page/full_page_rating.tsx @@ -3,14 +3,20 @@ import { StyleSheet, View, Animated, Text } from "react-native"; import { StarRatingForm } from "./star_rating_form"; import AntDesign from "@expo/vector-icons/AntDesign"; import { FloatingEndActionButton } from "../floating_end_action_button"; +import { useTranslation } from "react-i18next"; +import { LANG_CONSTANTS } from "../../../lang/lang"; interface FullPageRatingProps { onClose: () => void; onSubmitted: (rating: number) => void; } -export const FullPageRating = ({ onClose, onSubmitted }: FullPageRatingProps) => { +export const FullPageRating = ({ + onClose, + onSubmitted, +}: FullPageRatingProps) => { const [rating, setRating] = useState(0); + const { t } = useTranslation(); const opacityRef = useRef(new Animated.Value(0)).current; useEffect(() => { Animated.timing(opacityRef, { @@ -51,7 +57,7 @@ export const FullPageRating = ({ onClose, onSubmitted }: FullPageRatingProps) => ]} > - ¿Te gustó esta actividad? Califícala + {t(LANG_CONSTANTS.rateActivityScreenMessage)} color="red" onPress={() => handleOnClose(onClose)} /> - {setRating(rating)}} /> - handleOnClose(() => onSubmitted(rating))} /> + { + setRating(rating); + }} + /> + handleOnClose(() => onSubmitted(rating))} + /> ); diff --git a/mobile/src/common/const/api.ts b/mobile/src/common/const/api.ts index 68fdfbea497d1039492807d442ab3325d5d922b2..f892c3692efaf8c7545d3c8c3ccf72f99738eeeb 100644 --- a/mobile/src/common/const/api.ts +++ b/mobile/src/common/const/api.ts @@ -1 +1 @@ -export const API_URL = "http://192.168.0.14:3005"; +export const API_URL = "https://superb-amazement-production.up.railway.app"; diff --git a/mobile/src/common/contexts/data_context.tsx b/mobile/src/common/contexts/data_context.tsx index a9abf3dbb7b59b77befec7b1a65289c8154d98ca..1501e9d4438c3181b0205dfb773320f436a7e2cb 100644 --- a/mobile/src/common/contexts/data_context.tsx +++ b/mobile/src/common/contexts/data_context.tsx @@ -53,7 +53,9 @@ const getProductionContext = (language: string): DataContextType => { new StateDataSourceProd(language) ), authRepository: new AuthRepositoryImpl(new AuthDatasourceProd()), - activityRepository: new ActivityRepositoryDev(new ActivityDatasourceProd()), + activityRepository: new ActivityRepositoryDev( + new ActivityDatasourceProd(language) + ), travelRepository: new TravelRepositoryImpl(new TravelDatasourceProd()), routeRepository: new RouteRepositoryImpl(new RouteDatasourceProd(language)), profileRepository: new ProfileRepositoryImpl( diff --git a/mobile/src/common/contexts/set_up_context.tsx b/mobile/src/common/contexts/set_up_context.tsx index ac8e1519be141755e4eac53e437117839fb5de99..efec29565407711b8a97429c9c26e85a31b255af 100644 --- a/mobile/src/common/contexts/set_up_context.tsx +++ b/mobile/src/common/contexts/set_up_context.tsx @@ -8,6 +8,7 @@ import { import * as SecureStore from "expo-secure-store"; import { useAuth } from "../../auth/contexts/auth_context"; import { UserPreferences } from "../domain/entities/user_preferences"; +import AsyncStorage from "@react-native-async-storage/async-storage"; type SetUpContextType = { isLoading: boolean; @@ -36,18 +37,16 @@ export const SetUpContextProvider = ({ return; } const sskey = user.email.split("@")[0]; - const userPreferences = await SecureStore.getItemAsync(sskey); + const userPreferences = await AsyncStorage.getItem(sskey); if (userPreferences) { const parsedUserPreferences = JSON.parse( userPreferences ) as UserPreferences; parsedUserPreferences.isFirstTime = false; - await SecureStore.setItemAsync( - sskey, - JSON.stringify(parsedUserPreferences) - ); + await AsyncStorage.setItem(sskey, JSON.stringify(parsedUserPreferences)); setIsFirstTime(false); } + setIsLoading(false); }; const value = { @@ -58,27 +57,33 @@ export const SetUpContextProvider = ({ useEffect(() => { const checkFirstTime = async () => { - if (isLoadingUser) return; - if (!user) { + try { + if (isLoadingUser) return; + if (!user) { + setIsLoading(false); + return; + } + const sskey = user.email.split("@")[0]; + const value = await AsyncStorage.getItem(sskey); + if (value) { + const userPreferences = JSON.parse(value) as UserPreferences; + setIsFirstTime(userPreferences.isFirstTime); + } else { + const emptyUserPreferences = { + isFirstTime: true, + isVerifiedEmail: false, + }; + await AsyncStorage.setItem( + sskey, + JSON.stringify(emptyUserPreferences) + ); + } + } catch { + console.log("Error checking session"); + setIsFirstTime(true); + } finally { setIsLoading(false); - return; } - const sskey = user.email.split("@")[0]; - const value = await SecureStore.getItemAsync(sskey); - if (value) { - const userPreferences = JSON.parse(value) as UserPreferences; - setIsFirstTime(userPreferences.isFirstTime); - } else { - const emptyUserPreferences = { - isFirstTime: true, - isVerifiedEmail: false, - }; - await SecureStore.setItemAsync( - sskey, - JSON.stringify(emptyUserPreferences) - ); - } - setIsLoading(false); }; checkFirstTime(); diff --git a/mobile/src/common/screens/error_page.tsx b/mobile/src/common/screens/error_page.tsx index f6d618e8e35031e9d9472e87567f1cd97cfddb4e..21442cd4ad8853db95efbec853429189a5413ec2 100644 --- a/mobile/src/common/screens/error_page.tsx +++ b/mobile/src/common/screens/error_page.tsx @@ -1,23 +1,23 @@ import { View, Text, StyleSheet } from "react-native"; import { MaterialIcons } from "@expo/vector-icons"; import { TouchableOpacity } from "react-native-gesture-handler"; +import { useTranslation } from "react-i18next"; +import { LANG_CONSTANTS } from "../../lang/lang"; interface ErrorPageProps { refresh?: () => void; } export const ErrorPage = ({ refresh }: ErrorPageProps) => { + const { t } = useTranslation(); return ( - - Ups, algo salio mal, revisa tu conexión a internet o intentalo más - tarde... - + {t(LANG_CONSTANTS.errorPageMessage)} {refresh && ( - Reintentar + {t(LANG_CONSTANTS.errorPageButton)} )} diff --git a/mobile/src/common/screens/scan_page.tsx b/mobile/src/common/screens/scan_page.tsx index 25c2c62739a34154cbaf8a7ef225a3fd10dd15b6..5201c1777a6fb9781e76358c410087b42c21b439 100644 --- a/mobile/src/common/screens/scan_page.tsx +++ b/mobile/src/common/screens/scan_page.tsx @@ -4,12 +4,15 @@ import { CameraView } from "expo-camera/next"; import { BarCodeScanningResult } from "expo-camera"; import { useEffect, useRef } from "react"; import { activityPointRouteValidator } from "../../activity/utils/activity_route"; +import { useTranslation } from "react-i18next"; +import { LANG_CONSTANTS } from "../../lang/lang"; export default function ScanPage() { const { hasPermission, getPermission, scanning, onQRScanned, qrData } = - useQRScanner({validator: activityPointRouteValidator}); + useQRScanner({ validator: activityPointRouteValidator }); const qrAnimation = useRef(new Animated.Value(0)).current; + const { t } = useTranslation(); const startAnimation = () => { Animated.loop( @@ -37,8 +40,11 @@ export default function ScanPage() { if (!hasPermission) { return ( - No permission -