chore: create legal and real user data info
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { Injectable } from "@nestjs/common";
|
||||
import { BadRequestException, Injectable } from "@nestjs/common";
|
||||
|
||||
import { CityMessage, ProvinceMessage } from "../../../common/enums/message.enum";
|
||||
import { PaginationUtils } from "../../utils/providers/pagination.utils";
|
||||
import { SearchCitiesDto } from "../DTO/cities-search-query.dto";
|
||||
import { CityRepository } from "../repositories/city.repository";
|
||||
@@ -51,4 +52,59 @@ export class AddressService {
|
||||
paginate: true,
|
||||
};
|
||||
}
|
||||
|
||||
async getProvince(id: number) {
|
||||
const province = await this.provinceRepository.findOneBy({
|
||||
id,
|
||||
});
|
||||
if (!province) throw new BadRequestException(CityMessage.NOT_FOUND);
|
||||
|
||||
return { province };
|
||||
}
|
||||
|
||||
async getCity(id: number) {
|
||||
const city = await this.cityRepository.findOneBy({
|
||||
id,
|
||||
});
|
||||
if (!city) throw new BadRequestException(CityMessage.NOT_FOUND);
|
||||
|
||||
return { city };
|
||||
}
|
||||
|
||||
async getCitiesByProvince(queryDto: SearchCitiesDto, id: number) {
|
||||
const { limit, skip } = PaginationUtils(queryDto);
|
||||
|
||||
const province = await this.provinceRepository.findOneBy({
|
||||
id,
|
||||
});
|
||||
if (!province) throw new BadRequestException(CityMessage.NOT_FOUND);
|
||||
|
||||
const queryBuilder = this.cityRepository.createQueryBuilder("city").where("city.provinceId = :provinceId", { provinceId: province.id });
|
||||
if (queryDto.q) {
|
||||
queryBuilder.andWhere("city.name ILIKE :q", { q: `%${queryDto.q}%` });
|
||||
}
|
||||
|
||||
queryBuilder.skip(skip).take(limit);
|
||||
|
||||
const [cities, count] = await queryBuilder.getManyAndCount();
|
||||
|
||||
return {
|
||||
cities,
|
||||
count,
|
||||
pagination: true,
|
||||
};
|
||||
}
|
||||
|
||||
async getProvinceByCity(id: number) {
|
||||
const province = await this.provinceRepository.findOne({
|
||||
where: {
|
||||
cities: {
|
||||
id,
|
||||
},
|
||||
},
|
||||
});
|
||||
if (!province) throw new BadRequestException(ProvinceMessage.NOT_FOUND);
|
||||
|
||||
return { province };
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user