chore: update Node version and enhance debugging capabilities

- Removed .nvmrc file to eliminate version locking.
- Updated Dockerfile to use Node 22.6.0-alpine for improved performance and security.
- Modified package.json to enhance the 'start:dev' script with debugging options.
- Added new launch configuration in VSCode for attaching to Node processes by PID.
- Cleaned up settings.json by removing unused configurations.
- Refactored main.ts to simplify the bootstrap process.
- Enhanced logging in OrderSchema and ScheduleSchema for better traceability of operations.
This commit is contained in:
2024-12-03 22:46:23 +07:00
parent 951d61f3ac
commit a516dce800
8 changed files with 27 additions and 16 deletions

View File

@@ -1,4 +1,4 @@
import { Inject, Injectable } from '@nestjs/common'
import { Inject, Injectable, Logger } from '@nestjs/common'
import { Pothos, PothosRef, PothosSchema, SchemaBuilderToken } from '@smatch-corp/nestjs-pothos'
import { Builder } from '../Graphql/graphql.builder'
import { PrismaService } from '../Prisma/prisma.service'
@@ -201,8 +201,8 @@ export class OrderSchema extends PothosSchema {
expiredAt: DateTimeUtils.now().plus({ minutes: 15 }).toJSDate(),
},
})
const _name = _.map(_.slice(_.split(service.name, ' '), 0, 10), (word) => _.deburr(word)).join(' ')
const _name = _.deburr(service.name).slice(0, 10)
Logger.log(`Creating payment for ${_name}`)
// generate payment url
const paymentData = await this.payosService.createPayment({
orderCode: paymentCode,

View File

@@ -262,6 +262,7 @@ export class ScheduleSchema extends PothosSchema {
if (!ctx.http?.me?.id) {
throw new Error('User not found')
}
Logger.log(`ctx.http.me.role: ${ctx.http.me.role}`)
// use case 1: customer query schedules where customer is participant
if (ctx.http.me.role === Role.CUSTOMER) {
const schedules = await this.prisma.schedule.findMany({
@@ -286,6 +287,7 @@ export class ScheduleSchema extends PothosSchema {
if (!center) {
throw new Error('Center not found')
}
// get all schedules belong to center
const schedules = await this.prisma.schedule.findMany({
...query,
skip: args.skip ?? undefined,

View File

@@ -82,7 +82,5 @@ async function bootstrap() {
Logger.log(`Server is running on http://${host}:${port}`, 'Bootstrap')
})
}
// IIFE
;(async () => {
await bootstrap()
})()
bootstrap()