Files
prop-ai-hr/mobile-uni/src/services/direct.ts
T

57 lines
1.3 KiB
TypeScript

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<DirectChannel[]>({
url: '/api/aihr/direct/channels',
method: 'GET',
timeout: 15000
});
export const submitDirectFeedback = (data: {
requestId: string;
channelCode: DirectChannelCode;
anonymous: boolean;
content: string;
}) =>
apiRequest<DirectFeedback>({
url: '/api/aihr/direct/feedback',
method: 'POST',
data,
timeout: 15000
});
export const listMyDirectFeedback = (pageNum = 1, pageSize = 20) =>
apiRequest<DirectFeedbackPage>({
url: `/api/aihr/direct/mine?pageNum=${pageNum}&pageSize=${pageSize}`,
method: 'GET',
timeout: 15000
});