Skip to content

HBSA270_Platform Staff (플랫폼 스태프·엔드포인트별) ​

(Hereby) 시스템 관리 > [[HBSA200]] > Platform Staff

앱System Admin (포트 4100)
부모 화면[[HBSA200]]
대상 사용자플랫폼 운영자(OPERATOR)
프로토타입TBU
관련 정책[[POL_권한(RBAC)]]
Statusdraft (코드 기반 — 라이브 실사 불가: dev 라우트 AccessDenied 격리, 2026-08-25 확인)
Owner카나

개요 ​

벤더 플랫폼 스태프(meta account)의 platformRole(OPERATOR/SUPPORT)을 부여·해제하고, 새 엔드포인트에 스태프 계정 자체를 생성한다(§5-2⑴). 계정은 엔드포인트(독립 인증 realm)마다 별개라 대상 엔드포인트 선택 축이 있다. env 부트스트랩(OPERATOR 전무 시 1명) → 콘솔 생성(2번째부터)의 2단 구조를 완성하는 화면.

문서 히스토리 ​

날짜작성자팀변경 내용
2026-08-25카나콸최초 작성 (redesign PR #583 코드 census 기반, 라이브 미실사)
2026-10-02카나PM#995 비밀번호 최소 길이 병원 설정 연동 — repo 직접 수정 역수용(c6347029, #995) - 카나/PM

Data I/O ​

Client → Server ​

액션콘솔 RESTsystemProcedure
스태프 목록/검색GET /api/platform-accounts (?endpoint=)systemPlatformAccounts
역할 부여/해제PATCH /api/platform-accounts/:id/rolesystemSetPlatformRole
스태프 계정 생성POST /api/platform-accountssystemCreatePlatformStaff(계정 생성+역할 부여 원샷)

Server → Client ​

변수소스비고
platformAccounts[]systemPlatformAccountsemail/name/status/platformRole/lastLoginAt
platformListModestaff / search목록 vs 검색 결과
endpoints[]레지스트리다중 시 셀렉터 노출

코드 근거: tabs/platform-staff.html, server/routes/platform-accounts.ts.


화면 플로우 ​


메인 사양표 ​

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00화면 진입 조건-activeTab === 'platform-staff'-
01초기 상태Output"Platform Staff (meta account) — 현재 스태프 {n}명" (검색 시 "검색 결과 {n}건")platformListMode
10엔드포인트 셀렉터Dropdownendpoints.length > 1 시 노출. name (env). @change → loadPlatformAccounts()platformEndpointId계정은 엔드포인트마다 별개
20검색Input Boxplaceholder "이메일 / 이름 검색" + "검색" / "스태프 목록"(초기화) / "스태프 생성"(폼 열기)platformSearchQEnter 검색
30역할 설명Info"OPERATOR = grant 발급/회수 + 지원 진입 · SUPPORT = 발급받은 grant로 지원 진입만 · 해제 시 해당 계정의 유효 grant는 자동 회수됩니다."-원문 카피
40결과 메시지AlertplatformMsg 시 green 배너-
50스태프 테이블List[List] 컬럼 email/name/status/platform role/last login/actionsplatformAccounts
51ㄴ platform role 배지BadgeOPERATOR=primary / SUPPORT=blue / 없으면 "—"-
52ㄴ 역할 적용Dropdown+Button셀렉트("일반 회원"/"SUPPORT"/"OPERATOR") + "적용" → setPlatformRole(id, value). 진행 중 "적용 중..."systemSetPlatformRole해제 시 grant 자동 회수
50-Eㄴ EmptyTextstaff 모드 "플랫폼 스태프가 없습니다. 이메일로 검색해 부여하세요." / search 모드 "검색 결과가 없습니다."-
60값 없음 처리-lastLoginAt 없으면 "—"-
70에러·실패-로드 실패 tabError. 생성 중복 409-

서브 화면 / 인라인 폼 사양표 ​

스태프 계정 생성 폼 (§5-2⑴) ​

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00노출 조건-staffFormOpen. 타이틀 "스태프 계정 생성" (+ 다중 시 엔드포인트 표기)openStaffForm()
01안내Info"이 엔드포인트에 벤더 스태프의 계정 자체가 없을 때 생성해요. 이미 계정이 있으면 목록에서 검색해 역할 부여를 사용하세요."-
10입력Input Box"이메일" / "비밀번호 (8자 이상, 대문자·소문자·숫자·특수문자 포함)" — 기본 규칙, 제출 전 화면·서버가 같은 함수로 검사(#995) / "성" / "이름"staffForm
20역할DropdownSUPPORT / OPERATORstaffForm.platformRole
30제출Button"생성" → createPlatformStaff(). 진행 중 "생성 중..."systemCreatePlatformStaff계정 생성 + 역할 부여 원샷, org-less 감사

권한 / 상태 요약 ​

시나리오트리거결과비고
case01 [역할 부여]적용platformRole 설정 + audit(org=null)
case02 [해제]"일반 회원" 적용역할 제거 + 유효 grant 자동 회수
case03 [스태프 생성]생성 폼계정+역할 원샷, 중복 409새 엔드포인트 부트스트랩
case04 [엔드포인트별]셀렉터대상 엔드포인트 accounts 조회독립 realm

OQ ​

  • OPERATOR가 자기 자신의 역할을 해제하는 것에 대한 가드 = 코드상 미확인 TBU
  • last login 표기 정밀도(타임존) = TBU