feat: update .gitignore for Bun and generated files, minor formatting fix in password reset handler

This commit is contained in:
Jose Selesan
2026-04-13 21:25:53 -03:00
parent 62d28734fc
commit e2299c6d46
8 changed files with 153 additions and 9 deletions

17
.gitignore vendored
View File

@@ -139,3 +139,20 @@ dist
.yarn/install-state.gz .yarn/install-state.gz
.pnp.* .pnp.*
# Bun
bun.lock
# Generated
apps/backend/src/generated
apps/backend/prisma.config.js
apps/backend/prisma/*.js
apps/backend/prisma/*.seed-data.js
apps/backend/src/app.js
apps/backend/src/lib/*.js
apps/backend/src/middlewares/*.js
apps/backend/src/modules/**/*.js
apps/backend/src/register-routes.js
apps/backend/src/server.js
apps/backend/src/index.js
apps/backend/src/types/*.js

View File

@@ -57,6 +57,11 @@ export type CourtBooking = Prisma.CourtBookingModel
* *
*/ */
export type OnboardingRequest = Prisma.OnboardingRequestModel export type OnboardingRequest = Prisma.OnboardingRequestModel
/**
* Model PasswordResetRequest
*
*/
export type PasswordResetRequest = Prisma.PasswordResetRequestModel
/** /**
* Model Plan * Model Plan
* *

View File

@@ -81,6 +81,11 @@ export type CourtBooking = Prisma.CourtBookingModel
* *
*/ */
export type OnboardingRequest = Prisma.OnboardingRequestModel export type OnboardingRequest = Prisma.OnboardingRequestModel
/**
* Model PasswordResetRequest
*
*/
export type PasswordResetRequest = Prisma.PasswordResetRequestModel
/** /**
* Model Plan * Model Plan
* *

File diff suppressed because one or more lines are too long

View File

@@ -392,6 +392,7 @@ export const ModelName = {
CourtPriceRule: 'CourtPriceRule', CourtPriceRule: 'CourtPriceRule',
CourtBooking: 'CourtBooking', CourtBooking: 'CourtBooking',
OnboardingRequest: 'OnboardingRequest', OnboardingRequest: 'OnboardingRequest',
PasswordResetRequest: 'PasswordResetRequest',
Plan: 'Plan', Plan: 'Plan',
User: 'User' User: 'User'
} as const } as const
@@ -409,7 +410,7 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
omit: GlobalOmitOptions omit: GlobalOmitOptions
} }
meta: { meta: {
modelProps: "complex" | "complexUser" | "sport" | "court" | "courtAvailability" | "courtPriceRule" | "courtBooking" | "onboardingRequest" | "plan" | "user" modelProps: "complex" | "complexUser" | "sport" | "court" | "courtAvailability" | "courtPriceRule" | "courtBooking" | "onboardingRequest" | "passwordResetRequest" | "plan" | "user"
txIsolationLevel: TransactionIsolationLevel txIsolationLevel: TransactionIsolationLevel
} }
model: { model: {
@@ -1005,6 +1006,80 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
} }
} }
} }
PasswordResetRequest: {
payload: Prisma.$PasswordResetRequestPayload<ExtArgs>
fields: Prisma.PasswordResetRequestFieldRefs
operations: {
findUnique: {
args: Prisma.PasswordResetRequestFindUniqueArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$PasswordResetRequestPayload> | null
}
findUniqueOrThrow: {
args: Prisma.PasswordResetRequestFindUniqueOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$PasswordResetRequestPayload>
}
findFirst: {
args: Prisma.PasswordResetRequestFindFirstArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$PasswordResetRequestPayload> | null
}
findFirstOrThrow: {
args: Prisma.PasswordResetRequestFindFirstOrThrowArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$PasswordResetRequestPayload>
}
findMany: {
args: Prisma.PasswordResetRequestFindManyArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$PasswordResetRequestPayload>[]
}
create: {
args: Prisma.PasswordResetRequestCreateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$PasswordResetRequestPayload>
}
createMany: {
args: Prisma.PasswordResetRequestCreateManyArgs<ExtArgs>
result: BatchPayload
}
createManyAndReturn: {
args: Prisma.PasswordResetRequestCreateManyAndReturnArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$PasswordResetRequestPayload>[]
}
delete: {
args: Prisma.PasswordResetRequestDeleteArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$PasswordResetRequestPayload>
}
update: {
args: Prisma.PasswordResetRequestUpdateArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$PasswordResetRequestPayload>
}
deleteMany: {
args: Prisma.PasswordResetRequestDeleteManyArgs<ExtArgs>
result: BatchPayload
}
updateMany: {
args: Prisma.PasswordResetRequestUpdateManyArgs<ExtArgs>
result: BatchPayload
}
updateManyAndReturn: {
args: Prisma.PasswordResetRequestUpdateManyAndReturnArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$PasswordResetRequestPayload>[]
}
upsert: {
args: Prisma.PasswordResetRequestUpsertArgs<ExtArgs>
result: runtime.Types.Utils.PayloadToResult<Prisma.$PasswordResetRequestPayload>
}
aggregate: {
args: Prisma.PasswordResetRequestAggregateArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.AggregatePasswordResetRequest>
}
groupBy: {
args: Prisma.PasswordResetRequestGroupByArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.PasswordResetRequestGroupByOutputType>[]
}
count: {
args: Prisma.PasswordResetRequestCountArgs<ExtArgs>
result: runtime.Types.Utils.Optional<Prisma.PasswordResetRequestCountAggregateOutputType> | number
}
}
}
Plan: { Plan: {
payload: Prisma.$PlanPayload<ExtArgs> payload: Prisma.$PlanPayload<ExtArgs>
fields: Prisma.PlanFieldRefs fields: Prisma.PlanFieldRefs
@@ -1307,6 +1382,22 @@ export const OnboardingRequestScalarFieldEnum = {
export type OnboardingRequestScalarFieldEnum = (typeof OnboardingRequestScalarFieldEnum)[keyof typeof OnboardingRequestScalarFieldEnum] export type OnboardingRequestScalarFieldEnum = (typeof OnboardingRequestScalarFieldEnum)[keyof typeof OnboardingRequestScalarFieldEnum]
export const PasswordResetRequestScalarFieldEnum = {
id: 'id',
email: 'email',
otpHash: 'otpHash',
otpExpiresAt: 'otpExpiresAt',
otpAttempts: 'otpAttempts',
otpLastSentAt: 'otpLastSentAt',
otpResendCount: 'otpResendCount',
usedAt: 'usedAt',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
} as const
export type PasswordResetRequestScalarFieldEnum = (typeof PasswordResetRequestScalarFieldEnum)[keyof typeof PasswordResetRequestScalarFieldEnum]
export const PlanScalarFieldEnum = { export const PlanScalarFieldEnum = {
code: 'code', code: 'code',
name: 'name', name: 'name',
@@ -1611,6 +1702,7 @@ export type GlobalOmitConfig = {
courtPriceRule?: Prisma.CourtPriceRuleOmit courtPriceRule?: Prisma.CourtPriceRuleOmit
courtBooking?: Prisma.CourtBookingOmit courtBooking?: Prisma.CourtBookingOmit
onboardingRequest?: Prisma.OnboardingRequestOmit onboardingRequest?: Prisma.OnboardingRequestOmit
passwordResetRequest?: Prisma.PasswordResetRequestOmit
plan?: Prisma.PlanOmit plan?: Prisma.PlanOmit
user?: Prisma.UserOmit user?: Prisma.UserOmit
} }

View File

@@ -59,6 +59,7 @@ export const ModelName = {
CourtPriceRule: 'CourtPriceRule', CourtPriceRule: 'CourtPriceRule',
CourtBooking: 'CourtBooking', CourtBooking: 'CourtBooking',
OnboardingRequest: 'OnboardingRequest', OnboardingRequest: 'OnboardingRequest',
PasswordResetRequest: 'PasswordResetRequest',
Plan: 'Plan', Plan: 'Plan',
User: 'User' User: 'User'
} as const } as const
@@ -194,6 +195,22 @@ export const OnboardingRequestScalarFieldEnum = {
export type OnboardingRequestScalarFieldEnum = (typeof OnboardingRequestScalarFieldEnum)[keyof typeof OnboardingRequestScalarFieldEnum] export type OnboardingRequestScalarFieldEnum = (typeof OnboardingRequestScalarFieldEnum)[keyof typeof OnboardingRequestScalarFieldEnum]
export const PasswordResetRequestScalarFieldEnum = {
id: 'id',
email: 'email',
otpHash: 'otpHash',
otpExpiresAt: 'otpExpiresAt',
otpAttempts: 'otpAttempts',
otpLastSentAt: 'otpLastSentAt',
otpResendCount: 'otpResendCount',
usedAt: 'usedAt',
createdAt: 'createdAt',
updatedAt: 'updatedAt'
} as const
export type PasswordResetRequestScalarFieldEnum = (typeof PasswordResetRequestScalarFieldEnum)[keyof typeof PasswordResetRequestScalarFieldEnum]
export const PlanScalarFieldEnum = { export const PlanScalarFieldEnum = {
code: 'code', code: 'code',
name: 'name', name: 'name',

View File

@@ -16,6 +16,7 @@ export type * from './models/CourtAvailability'
export type * from './models/CourtPriceRule' export type * from './models/CourtPriceRule'
export type * from './models/CourtBooking' export type * from './models/CourtBooking'
export type * from './models/OnboardingRequest' export type * from './models/OnboardingRequest'
export type * from './models/PasswordResetRequest'
export type * from './models/Plan' export type * from './models/Plan'
export type * from './models/User' export type * from './models/User'
export type * from './commonInputTypes' export type * from './commonInputTypes'

View File

@@ -5,10 +5,7 @@ import type { PasswordResetVerifyInput } from '@repo/api-contract';
export async function verifyPasswordResetHandler(c: AppContext) { export async function verifyPasswordResetHandler(c: AppContext) {
const payload = c.req.valid('json' as never) as PasswordResetVerifyInput; const payload = c.req.valid('json' as never) as PasswordResetVerifyInput;
const ip = const ip = c.req.header('x-forwarded-for') || c.req.header('cf-connecting-ip') || 'unknown';
c.req.header('x-forwarded-for') ||
c.req.header('cf-connecting-ip') ||
'unknown';
const userAgent = c.req.header('user-agent'); const userAgent = c.req.header('user-agent');
const result = await verifyOtpAndResetPassword(payload, ip, userAgent); const result = await verifyOtpAndResetPassword(payload, ip, userAgent);