Files
sistema_base/apps/api/src/features/location/location.service.ts

45 lines
1.3 KiB
TypeScript

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<typeof schema>,
) { }
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;
}
}