/** * TodayIssue 관련 타입 정의 * API: api/app/Swagger/v1/TodayIssueApi.php 참조 */ /** 알림 뱃지 타입 (헤더 알림용) */ export type TodayIssueBadge = | '수주등록' | '추심이슈' | '안전재고' | '지출 승인대기' | '세금 신고' | '결재 요청' | '신규거래처'; /** 알림 설정 타입 */ export type NotificationType = | 'sales_order' // 수주등록 | 'new_vendor' // 신규거래처 | 'approval_request' // 결재 요청 | 'bad_debt' // 추심이슈 | 'safety_stock' // 안전재고 | 'expected_expense' // 지출 승인대기 | 'vat_report'; // 세금 신고 /** * 읽지 않은 이슈 항목 (헤더 알림용) * TodayIssueUnreadItem 스키마 */ export interface TodayIssueUnreadItem { id: number; badge: TodayIssueBadge; notification_type: NotificationType; content: string; path: string | null; needs_approval: boolean; time: string; created_at: string; // ISO 8601 } /** * 읽지 않은 이슈 목록 응답 * TodayIssueUnreadResponse 스키마 */ export interface TodayIssueUnreadResponse { items: TodayIssueUnreadItem[]; total: number; } /** * 읽지 않은 이슈 개수 응답 * TodayIssueUnreadCountResponse 스키마 */ export interface TodayIssueUnreadCountResponse { count: number; } /** * 모든 이슈 읽음 처리 응답 * TodayIssueMarkAllReadResponse 스키마 */ export interface TodayIssueMarkAllReadResponse { count: number; } /** API 응답 공통 래퍼 */ export interface ApiResponse { success: boolean; message: string; data: T; /** 인증 에러 여부 (토큰 만료 등) */ authError?: boolean; }