From aa8b7efddd80e46cb71ef1affe91d701857720b7 Mon Sep 17 00:00:00 2001 From: sangkenlee Date: Tue, 30 Apr 2024 17:29:14 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A0=95=EC=B1=85=EB=AA=85=20=EC=97=85?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=8A=B8=20=EB=B2=84=EA=B7=B8=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/usecase/policy.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/internal/usecase/policy.go b/internal/usecase/policy.go index 73fafafd..c5d6f6ba 100644 --- a/internal/usecase/policy.go +++ b/internal/usecase/policy.go @@ -245,21 +245,21 @@ func (u *PolicyUsecase) Update(ctx context.Context, organizationId string, polic updateMap["mandatory"] = mandatory } - if policyName != nil { - policy, err := u.repo.GetByName(ctx, organizationId, *policyName) - if err != nil { + // 정책명을 업데이트하기로 설정하였고 + if policyName != nil && policy.PolicyName != *policyName { + exists, err := u.repo.ExistByName(ctx, organizationId, *policyName) + + if err != nil && !errors.IsNotFound(err) { return err } // 이름이 같은 정책이 존재하지만 아이디가 서로 다른 경우, 즉 다른 정책이 해당 이름 사용 중임 - if policy != nil && policyId != policy.ID { + if exists { return httpErrors.NewBadRequestError(httpErrors.DuplicateResource, "P_INVALID_POLICY_NAME", "policy name already exists") } // 해당 이름 사용중인 정책이 없으면 업데이트, 있으면 동일 정책이므로 업데이트 안 함 - if policy == nil { - updateMap["policy_name"] = policyName - } + updateMap["policy_name"] = policyName } if description != nil {