Skip to content

refactor(core): 새 비밀번호 규칙을 core:domain 으로 올린다 #2191

Closed

Description

@OnlyReadOneBook

작업 유형

refactor — 동작 변경 없는 구조·책임·경계 개선

주 담당 모듈

core — 코어

개요

새 비밀번호 조합 규칙의 클라 사본이 두 벌이다. 정규식은 한 글자도 다르지 않다.

두 번째 사본은 온보딩 쪽 객체가 모듈 internal 이라 설정 모듈에서 쓸 수 없어 생겼다. 서버는 BE PasswordValidation.REGEX 상수 하나를 SignupRequest, PasswordChangeRequest, PasswordFindRequest 세 곳에 걸어 두었으므로 클라도 정본이 하나여야 한다. 지금은 규칙이 바뀔 때 한쪽만 고치면 가입과 변경의 판정이 조용히 갈린다.

두 소비 모듈이 모두 이미 core:domain 에 의존하므로 규칙을 그리로 올리고, 이 이슈에서는 설정 쪽만 갈아탄다. 온보딩 전환은 담당 모듈이 달라 후속 이슈로 뗀다.

규칙을 사용자에게 설명하는 쪽도 같은 사정으로 두 벌이다. 안내 문구 setting_password_change_rule 은 온보딩 onboarding_signup_password_rule_combination 과 값이 같고, 충족 여부로 색을 가르는 표시(b1/gray5, captionLargeB)는 온보딩 internal PasswordRuleItem 을 설정 화면에 다시 그린 것이다. 규칙이 바뀌면 판정은 한 곳에서 바뀌는데 설명 문장은 모듈마다 따로 고쳐야 하므로, 문구와 표시 부품도 core:ui 로 함께 올린다.

완료 조건

  • core:domain 에 새 비밀번호 규칙 객체가 있고 BE PasswordValidation.REGEX 와 같은 정규식을 쓴다.
  • 경계값 테스트(7자, 16자, 종류 누락, 허용 목록 밖 문자, 전각 숫자)가 core 에 있다.
  • 설정의 비밀번호 변경이 core 규칙을 쓰고 SettingPasswordRule 은 지워진다.
  • core:ui 에 규칙 안내 문구와 안내 줄 부품(PasswordRuleItem)이 있고, 설정의 비밀번호 변경이 그것을 쓴다. 설정의 setting_password_change_rule 은 지워진다.
  • core·설정 유닛 테스트와 ktlint 를 통과한다.

참고

Activity

  1. added
    refactor동작 변경 없이 코드 구조·책임·경계를 개선하는 작업
    area:core공용 코어·네트워크 기능 영역
    on Sep 27, 2026
  2. added
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Sep 27, 2026
  3. github-actions commented on Sep 27, 2026

    @github-actions
    Contributor

    이 이슈를 맡은 PR 은 #2193 다 (base fix/2083-password-change-destination).

    base 가 기본 브랜치(develop)가 아니라서 GitHub 은 이 이슈의 Development 칸에
    아무것도 표시하지 않는다. 본문에 Closes #N 이 있어도 마찬가지다 — 그 링크는 기본 브랜치를
    target 하는 PR 에서만 만들어진다.

    PR 이 닫히거나 머지되면 이 이슈의 pr-open 라벨은 다음 리컨사일에서 떨어진다.

  4. removed
    pr-open이 이슈를 구현하는 PR 이 열려 있다 — base 가 기본 브랜치가 아니어도 드러낸다
    on Oct 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

area:core공용 코어·네트워크 기능 영역refactor동작 변경 없이 코드 구조·책임·경계를 개선하는 작업

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions