import { apiRequest } from './api'; export type DirectChannelCode = 'PRESIDENT' | 'FINANCE' | 'HR' | 'AUDIT' | 'OPERATIONS'; export type DirectFeedbackStatus = 'SUBMITTED' | 'REPLIED'; export interface DirectChannel { code: DirectChannelCode; name: string; defaultAnonymous: boolean; } export interface DirectFeedback { id: number; channelCode: DirectChannelCode; channelName: string; anonymous: boolean; content: string; status: DirectFeedbackStatus; replyContent?: string; repliedAt?: string; createdAt: string; } export interface DirectFeedbackPage { total: number; pageNum: number; pageSize: number; rows: DirectFeedback[]; } export const listDirectChannels = () => apiRequest({ url: '/api/aihr/direct/channels', method: 'GET', timeout: 15000 }); export const submitDirectFeedback = (data: { requestId: string; channelCode: DirectChannelCode; anonymous: boolean; content: string; }) => apiRequest({ url: '/api/aihr/direct/feedback', method: 'POST', data, timeout: 15000 }); export const listMyDirectFeedback = (pageNum = 1, pageSize = 20) => apiRequest({ url: `/api/aihr/direct/mine?pageNum=${pageNum}&pageSize=${pageSize}`, method: 'GET', timeout: 15000 });