-- Lucerne Master(SuperAdmin) RLS Bypass 정책
-- clinics 테이블: Master가 전체 조회 가능
CREATE POLICY "superadmin_read_all_clinics"
ON public.clinics
FOR SELECT
TO authenticated
USING (
EXISTS (
SELECT 1 FROM public.clinic_members
WHERE auth_user_id = auth.uid()
AND role = 'SuperAdmin'
)
);
-- clinics 테이블: Master가 상태 변경 가능 (승인/정지)
CREATE POLICY "superadmin_update_clinics"
ON public.clinics
FOR UPDATE
TO authenticated
USING (
EXISTS (
SELECT 1 FROM public.clinic_members
WHERE auth_user_id = auth.uid()
AND role = 'SuperAdmin'
)
);
-- clinic_members: Master가 전체 직원 목록 조회 가능
CREATE POLICY "superadmin_read_all_members"
ON public.clinic_members
FOR SELECT
TO authenticated
USING (
EXISTS (
SELECT 1 FROM public.clinic_members cm2
WHERE cm2.auth_user_id = auth.uid()
AND cm2.role = 'SuperAdmin'
)
);
-- leave_records: Master가 전체 조회 가능
CREATE POLICY "superadmin_read_all_leave"
ON public.leave_records
FOR SELECT
TO authenticated
USING (
EXISTS (
SELECT 1 FROM public.clinic_members
WHERE auth_user_id = auth.uid()
AND role = 'SuperAdmin'
)
);
-- ═══════════════════════════════════════
-- 📱 기기 등록 (Device Binding) 컬럼 추가
-- ═══════════════════════════════════════
ALTER TABLE public.clinic_members
ADD COLUMN IF NOT EXISTS device_uuid text,
ADD COLUMN IF NOT EXISTS device_info text,
ADD COLUMN IF NOT EXISTS device_registered_at timestamptz;
-- 직원이 본인 기기 정보를 등록/수정할 수 있도록
CREATE POLICY "member_update_own_device"
ON public.clinic_members
FOR UPDATE
TO authenticated
USING (auth_user_id = auth.uid())
WITH CHECK (auth_user_id = auth.uid());
| 성명 | 역할 | 직종 | 면허/자격 | 입사일 | 고용형태 | 기본급 | 기기 UUID | 상태 | 관리 |
|---|
| 성명 | 직종 | 입사일 | 수습종료 | D-Day | 처리 |
|---|
| 성명 | 직종 | 퇴직일 | 퇴직사유 | 보관 만료일 | D-Day | 관리 |
|---|
| 직원 | 역할 | 직종 | 출근 | 퇴근 | 거리 | 지각 | 기기 | 상태 | 처리 |
|---|
| 직원 | 역할 | 문서 종류 | 문서명 | 제출일 | 만료일 | 원본 열람 | 상태 | 처리 |
|---|---|---|---|---|---|---|---|---|
| 이하은 | Staff | 교육이수증 | 심폐소생술 BLS | 오늘 09:22 | 2028.05.20 | 원본 보기 | 검토대기 | AI 검토 |
| 김수진 | Staff | 면허증 | 간호사 면허증 갱신 | 오늘 07:45 | 2026.07.06 | 원본 보기 | 검토대기 | AI 검토 |
| 박민준 | 직원 | 자격증 | 의료기사 자격증 | 어제 16:30 | 2026.07.27 | 원본 보기 | 검토대기 | AI 검토 |
| 최준호 | 직원 | 교육이수증 | 개인정보보호 교육 | 2026.05.10 | 2027.05.10 | 원본 보기 | 승인완료 | — |
| 직원 | 문서명 | 제출일 | 원본 열람 | 처리 |
|---|---|---|---|---|
| 이하은 | 심폐소생술 BLS 이수증 | 오늘 09:22 | 원본 보기 | AI 검토 |
| 김수진 | 간호사 면허증 갱신 | 오늘 07:45 | 원본 보기 | AI 검토 |
| 박민준 | 의료기사 자격증 | 어제 16:30 | 원본 보기 | AI 검토 |
| 직원 | 문서명 | 승인일 | 만료일 | 원본 열람 |
|---|---|---|---|---|
| 최준호 | 개인정보보호 교육 이수증 | 2026.05.10 | 2027.05.10 | 원본 보기 |
| 직원 | 문서명 | 만료일 | D-Day | 원본 열람 | 처리 |
|---|---|---|---|---|---|
| 김수진 | BLS 이수증 | 2026.07.06 | D-7 | 원본 보기 | 재제출 요청 |
| 장민서 | 감염관리 교육 | 2026.07.13 | D-14 | 원본 보기 | 재제출 요청 |
| 직원 | 직종 | 필수 자격증 | 상태 | 취득/만료일 | 원본 | 관리 |
|---|
| 직원 | 예정 근무일 | 실제 출근 | 정시 | 지각 | 결근 | 연차 | 총 근무시간 | 출근율 |
|---|
| 근로자 | 계약 유형 | 계약 기간 | 월 기본급 | 사용자 서명 | 근로자 서명 | 상태 | 관리 |
|---|
| 직원 | 역할 | 직종 | 기본급 | 지급합계 | 4대보험 | 소득세 | 공제합계 | 실지급액 | 명세서 |
|---|
| 성명 | 역할 | 직종 | 입사일 | 발생 | 사용 | 잔여 | 소진율 | 연차수당 (통상임금 기준) | 촉진 | 등록 |
|---|
| 인계자 | 인수자 | 직무 | 작성일 | 서명 | 상태 | 관리 |
|---|
| 카테고리 | 품목명 | 현재 재고 | 최소 기준 | 신청수량 | 신청일 | 신청자 | 예상 금액 | 상태 | 처리 |
|---|---|---|---|---|---|---|---|---|---|
| 라텍스 장갑 | 라텍스 장갑 M (100매입) 베스트라이프 KM-100 |
12개 | 50개 | 2026.06.07 | 이하은 | 32,000원 | 재고부족 | 승인 · 반려 | |
| 알코올 스왑 | 알코올 스왑 (200매입) 일반 70% 에탄올 |
230개 | 100개 | 2026.06.06 | 김수진 | 15,000원 | 재고충분 | 승인 | |
| 마스크 (KF94) | KF94 마스크 (50매입) 소형 화이트 |
18매 | 30매 | 2026.06.08 | 박민준 | 28,000원 | 부족임박 | 승인 · 반려 | |
| A4 용지 | A4 복사용지 (500매 1박스) 80g 흰색 |
3박스 | 2박스 | 2026.06.05 | 최준호 | 25,000원 | 재고충분 | — | |
| 손 소독제 | 손 소독제 500ml 에탄올 62% 이상 |
1병 | 5병 | 2026.06.09 | 이하은 | 82,000원 | 재고부족 | 승인 · 반려 |
| 구매일 | 구매처 / 품목 | 금액 | 증빙 | 비고 | 관리 |
|---|
| 교육명 | 구분 | 근거법령 | 주기 | 대상 | 미이수 과태료 |
|---|
| 수신일시 | 발신번호 | 페이지 | 상태 | 관리 |
|---|
| 발생일시 | 모듈 | 대상 | 처리 내용 | 처리자 역할 | 파일해시 (SHA-256) |
|---|---|---|---|---|---|
| 2026.06.09 09:22 | 문서 | 이하은 (Staff) | BLS 이수증 업로드 · AI 추출 완료 · 소유권 잠금 | System | a3f9b2c1d4e5... |
| 2026.06.09 09:14 | 출퇴근 | 정서연 (Staff) | 반경 87m 초과 출근 → 승인 대기 · Device UUID 일치 | System | — |
| 2026.06.05 14:30 | 급여 | 전체 | 5월 급여명세서 전자서명 완료 (12명) · Floor 절사 적용 | Owner | f7d8a4e2c1b5... |
| 업로드일시 | 병원 | 카테고리 | 제목 | 파일명 | 업로더 | 다운로드 |
|---|