diff --git a/dictation_server/src/repositories/accounts/accounts.repository.service.ts b/dictation_server/src/repositories/accounts/accounts.repository.service.ts index 631556e..16b6f47 100644 --- a/dictation_server/src/repositories/accounts/accounts.repository.service.ts +++ b/dictation_server/src/repositories/accounts/accounts.repository.service.ts @@ -79,7 +79,7 @@ export class AccountsRepositoryService { } /** - * プライマリ管理者とアカウントを同時に作成する + * プライマリ管理者とアカウント、ソート条件を同時に作成する * @param companyName * @param country * @param dealerAccountId @@ -150,6 +150,27 @@ export class AccountsRepositoryService { }); } + /** + * プライマリ管理者とアカウント、ソート条件を同時に削除する + * @param accountId + * @returns delete + */ + async deleteAccount(accountId: number, userId: number): Promise { + await this.dataSource.transaction(async (entityManager) => { + const accountsRepo = entityManager.getRepository(Account); + const usersRepo = entityManager.getRepository(User); + const sortCriteriaRepo = entityManager.getRepository(SortCriteria); + // アカウントを削除 + await accountsRepo.delete({ id: accountId }); + // プライマリ管理者を削除 + await usersRepo.delete({ id: userId }); + // ソート条件を削除 + await sortCriteriaRepo.delete({ + user_id: userId, + }); + }); + } + /** * アカウントIDからアカウント情報を取得する * @param id