import { DRIZZLE_PROVIDER } from 'src/database/drizzle-provider'; // import { Env, validateString } from '@/common/utils'; import { Inject, Injectable, HttpException, HttpStatus, NotFoundException, UnauthorizedException } from '@nestjs/common'; import { NodePgDatabase } from 'drizzle-orm/node-postgres'; import * as schema from 'src/database/index'; import { states, municipalities, parishes } from 'src/database/index'; import { eq, like, or, SQL, sql, and, not } from 'drizzle-orm'; import * as bcrypt from 'bcryptjs'; import { State, Municipality, Parish } from './entities/user.entity'; // import { PaginationDto } from '../../common/dto/pagination.dto'; @Injectable() export class UsersService { constructor( @Inject(DRIZZLE_PROVIDER) private drizzle: NodePgDatabase, ) { } async StateAll(): Promise< State[]> { const find = await this.drizzle .select() .from(states) return find; } async MunicioalityAll(id: string): Promise< Municipality[]> { const find = await this.drizzle .select() .from(municipalities) .where(eq(municipalities.stateId, parseInt(id))); return find; } async ParishAll(id: string): Promise< Parish[]> { const find = await this.drizzle .select() .from(parishes) .where(eq(parishes.municipalityId, parseInt(id))); return find; } }