작업을 진행하던 중 Not found alias 오류가 발생
Error: Cannot find alias for relation at workspace
at UpdateQueryBuilder.findColumnsForPropertyPath (C:\Users\dltkd\OneDrive\바탕 화면\개발 공부\workflow-service\src\query-builder\QueryBuilder.ts:1305:27)
at UpdateQueryBuilder.getPredicates (C:\Users\dltkd\OneDrive\바탕 화면\개발 공부\workflow-service\src\query-builder\QueryBuilder.ts:1454:26)
at getPredicates.next (<anonymous>)
at UpdateQueryBuilder.getWhereCondition (C:\Users\dltkd\OneDrive\바탕 화면\개발 공부\workflow-service\src\query-builder\QueryBuilder.ts:1621:50)
at UpdateQueryBuilder.where (C:\Users\dltkd\OneDrive\바탕 화면\개발 공부\workflow-service\src\query-builder\UpdateQueryBuilder.ts:224:32)
at EntityManager.update (C:\Users\dltkd\OneDrive\바탕 화면\개발 공부\workflow-service\src\entity-manager\EntityManager.ts:790:18)
at Repository.update (C:\Users\dltkd\OneDrive\바탕 화면\개발 공부\workflow-service\src\repository\Repository.ts:361:29)
at MembershipsService.extensionMembership (C:\Users\dltkd\OneDrive\바탕 화면\개발 공부\workflow-service\src\memberships\memberships.service.ts:63:37)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at C:\Users\dltkd\OneDrive\바탕 화면\개발 공부\workflow-service\src\payments\payments.service.ts:64:9
// 멤버십 연장
async extensionMembership(body: MembershipDto, workspaceId: number): Promise<IResult> {
const targetMembership = await this.membershipRepository.findOne({ where: { workspace: { id: workspaceId } } });
const servicePeriod = body.servicePeriod * 24 * 60 * 60 * 1000;
const newEndDate = new Date(targetMembership.end_date.getTime() + servicePeriod);
if (!targetMembership) throw new HttpException('결제된 멤버십이 없습니다.', HttpStatus.NOT_FOUND);
await this.membershipRepository.update({ workspace: { id: workspaceId } }, { end_date: newEndDate });
return { result: true };
}
// 멤버십 연장
async extensionMembership(body: MembershipDto, workspaceId: number): Promise<IResult> {
const targetMembership = await this.membershipRepository.findOne({ where: { workspace: { id: workspaceId } } });
const servicePeriod = body.servicePeriod * 24 * 60 * 60 * 1000;
const newEndDate = new Date(targetMembership.end_date.getTime() + servicePeriod);
if (!targetMembership) throw new HttpException('결제된 멤버십이 없습니다.', HttpStatus.NOT_FOUND);
await this.membershipRepository.save({ ...targetMembership, end_date: newEndDate });
return { result: true };
}