Skip to content

HBAD280_공지

(Hereby) 관리자 패널 > 총무 > 공지

메타앱: 관리자 패널 (HBAD)대상 사용자: 조건1 [공지/알림 관리] 권한 보유 역할프로토타입: TBU관련 정책: TBUStatus: reviewOwner: 카나

개요

공지는 관리자가 조직 구성원 대상 공지사항을 작성·게시하는 화면이다. 사이드바 "총무" 그룹의 "공지" 메뉴 진입점이다.본문은 General Affairs 앱 임베드(/general-affairs/notices?embedded=1)로 로드된다 — 관리자 패널이 GA 도메인 화면을 감싼다.목록 컬럼은 제목 / 카테고리 / 우선순위 / 게시 / 게시일 / 만료일 / 관리이며, "+ 공지 작성" 폼으로 신규 공지를 등록한다.

문서 히스토리

  • 2026-07-06 최초 작성 - 카나/콸
  • 2026-07-10 라이브 기능 검토 반영 (GA 임베드 · 컬럼/필터/작성폼) - 카나/콸
  • 2026-07-21 GC700 깊이 재작성 - 카나/콸
  • 2026-07-21 셀 스타일 확정판 적용 (콸 승인) - 카나/PM
  • 2026-07-24 코드 변경 반영(f1d0cdb·17f0436) - 카나/콸

Data I/O

Server → Client

변수

메타$
메타$
메타$
메타$

Client → Server

액션전달 값tRPC procedure권한 토큰
공지 작성/게시제목·내용·카테고리·우선순위·만료일시·즉시 게시·게시 대상 팀공지 upsert (GA 도메인, 매핑 TBU) — 선택 팀에만 알림 발송, 활성 멤버십 검증 (코드 반영: f1d0cdb)알림/총무 (라벨 기반, 매핑 TBU)
확인 내역 팀 필터noticeId, teamId확인(acknowledgment) 내역 조회 (매핑 TBU) — 활성 팀 멤버십 기준 필터 (코드 반영: 17f0436)알림/총무 (추정)
행 삭제noticeId공지 delete (매핑 TBU)알림/총무 (추정)

외부 통합

외부 시스템데이터동기/비동기비고
General Affairs (임베드)/general-affairs/notices?embedded=1 프레임 로드동기(iframe)본문 전체가 GA 임베드
알림/발송 (HBNS 추정)게시 공지 → 구성원 알림 전파비동기(동선 TBU)전파 채널 미확인

공지 사양표

번호항목/기능명타입사양 및 기능 설명연관/영향 범위비고
00진입 조건-조건1 [공지/알림 관리] 보유 시 사이드바 "총무" 그룹 > "공지" 메뉴로 진입권한 트리(알림/총무)
01초기 상태Output• 진입 시 GA 임베드 로드 후 공지 목록 그리드 표시General Affairs
05본문 임베드Embed• 본문 전체를 GA 앱 임베드(/general-affairs/notices?embedded=1)로 로드
 - CASE01 [로드 실패]: 처리 = TBU
General Affairs타 앱 embed
10공지 목록Grid• 공지를 그리드로 표시 — 컬럼: 제목 / 카테고리 / 우선순위 / 게시 / 게시일 / 만료일 / 관리
 - CASE01 [목록 0건]: 빈 상태 (원문 TBU)
공지 엔티티TBU: Empty 원문
15필터Filter• 목록을 카테고리·게시상태·검색으로 필터링 — 카테고리(전체 / 교육마감 / 시설 / 안전 / 정책 / 일반) / 게시상태(전체 / 미게시 / 게시 중 / 만료) / 검색 "제목 / 내용"
• 선택 시: 목록 재조회
 - CASE01 [결과 0건]: 빈 상태
목록 재조회
18행 관리Button• 행별 관리 액션 제공 — "보기" / "수정" / "삭제"
• 클릭 시: 각 액션 실행
 - CASE01 [게시·만료 건]: "확인 내역" 추가 제공 — 확인(acknowledgment) 내역에 팀 필터(활성 팀 멤버십 기준) 제공 (코드 반영: 17f0436)
공지 엔티티 · 확인 내역확인 내역 팀 필터(17f0436)
20공지 작성Form• 신규 공지를 등록하는 작성 폼 (아래 필드)
• 클릭 시: "+ 공지 작성" 폼 열림
 - CASE01 [필수(*) 미입력]: 제출 차단(추정)
공지 upsert
ㄴ21제목 / 내용Input• 공지 제목·내용 입력
• 입력 시: "제목 *" / "내용 *" 필수
공지 엔티티필수
ㄴ22카테고리Dropdown• 공지 카테고리 선택 (교육마감 / 시설 / 안전 / 정책 / 일반)notice.category
ㄴ23우선순위Dropdown• 우선순위 선택 (낮음 / 보통 / 높음 / 긴급)notice.priority
ㄴ24만료일시DatePicker• 공지 만료 일시 지정 (날짜+시간 picker, readonly 입력)
• 선택 시: "만료일시 *" 필수
공지 엔티티필수
ㄴ25즉시 게시 토글Toggle• 작성 즉시 게시 여부 (기본 OFF)
• 토글 시: CASE01 [OFF] → 미게시 상태 생성 · CASE02 [ON] → 게시 중 상태 생성
notice.status기본 OFF
ㄴ26게시 대상 팀 선택Select• 공지를 게시할 대상 팀을 선택하는 필드. 팀 옵션 lazy load, 활성 멤버십 검증. 선택 팀에만 알림 발송
• 선택 시: 게시 대상 팀 지정
 - CASE01 [팀 선택]: 게시 시 선택 팀에만 알림 전파
공지 엔티티 · 알림 발송신규 (코드 반영: f1d0cdb) · 배경: 7/21 베스트 요구(팀별 공지) · 팀 옵션 lazy load
30삭제Button• 행 공지 삭제
• 클릭 시: 컨펌 "공지를 삭제할까요?" → 확인 시 삭제 실행(7/10 mutation 검증)
공지 delete삭제 컨펌
40에러·실패-• 작성/삭제 실패 피드백(토스트/무반응) = TBU (라이브 미검증)-TBU
90권한별 차이-조건1 [공지/알림 관리] 미보유 시 "총무 > 공지" 메뉴 자체 미노출RBAC

카테고리 / 우선순위 / 게시상태 enum (원문)

구분비고
카테고리교육마감 / 시설 / 안전 / 정책 / 일반필터 "전체" 포함
우선순위낮음 / 보통 / 높음 / 긴급작성 폼 선택
게시상태미게시 / 게시 중 / 만료필터 "전체" 포함

권한 / 상태 요약

시나리오트리거결과 화면비고
CASE01 [미게시 생성]즉시 게시 OFF로 작성미게시 상태 행기본
CASE02 [즉시 게시]즉시 게시 ON으로 작성게시 중 상태 행 → 구성원 전파(TBU)
CASE03 [삭제]행 삭제 → 컨펌 확인목록에서 제거"공지를 삭제할까요?"
CASE04 [권한 미보유]메뉴 접근미노출RBAC gate

Open Question

  • 공지 엔티티/컬럼 — 01 org ERD 미포함, GA 도메인 ERD 필요. TBU.
  • 게시 대상 범위 — 팀 선택 확정(ㄴ26, 코드 반영: f1d0cdb): 게시 대상 팀 지정 → 선택 팀에만 알림 발송. 역할 단위 지정 여부는 잔여 TBU.
  • 구성원 전파 채널 — 직원앱 배너·알림·이메일 중 어느 것인지. TBU.
  • 목록 Empty·필터 0건·작성/삭제 실패 원문 문구. 라이브 미검증. TBU.