106 lines
4.1 KiB
TypeScript
106 lines
4.1 KiB
TypeScript
import { request, withQuery } from '../core/httpClient';
|
|
import type {
|
|
PagedResult,
|
|
SignatureActivityResponse,
|
|
SignatureAnalyticsMetadata,
|
|
SignatureRetirementHeatmapItem,
|
|
SignatureRetirementHeatmapDimension,
|
|
SignatureRetirementMessage,
|
|
SignatureRetirementRule,
|
|
SignatureRetirementRuleType,
|
|
SignatureRetirementSuppression,
|
|
SignatureRetirementWebhook,
|
|
UnreportedSignatureItem,
|
|
} from '../types';
|
|
|
|
export const adminSignatureRetirementApi = {
|
|
getSignatureActivity: (
|
|
query: {
|
|
date: string;
|
|
dimensionType: 'enterprise' | 'channel';
|
|
page: number;
|
|
pageSize: number;
|
|
tenantName?: string;
|
|
applicationName?: string;
|
|
signatureName?: string;
|
|
channelName?: string;
|
|
},
|
|
signal?: AbortSignal,
|
|
) => request<SignatureActivityResponse>(withQuery('/admin/signature-retirement/activity', query), { signal }),
|
|
getSignatureRetirementConfiguration: () =>
|
|
request<{ rules: SignatureRetirementRule[]; webhooks: SignatureRetirementWebhook[] }>(
|
|
'/admin/signature-retirement/configuration',
|
|
),
|
|
saveSignatureRetirementRule: (body: {
|
|
ruleType: SignatureRetirementRuleType;
|
|
targetId?: string;
|
|
enabled: boolean;
|
|
mobileWindowDays: number;
|
|
mobileThreshold: number;
|
|
unicomWindowDays: number;
|
|
unicomThreshold: number;
|
|
telecomWindowDays: number;
|
|
telecomThreshold: number;
|
|
messageTemplate?: string;
|
|
}) =>
|
|
request<SignatureRetirementRule>('/admin/signature-retirement/rules', {
|
|
method: 'PUT',
|
|
body: JSON.stringify(body),
|
|
}),
|
|
createSignatureRetirementWebhook: (body: { name: string; platform: 'wecom' | 'feishu'; url: string }) =>
|
|
request<SignatureRetirementWebhook>('/admin/signature-retirement/webhooks', {
|
|
method: 'POST',
|
|
body: JSON.stringify(body),
|
|
}),
|
|
deleteSignatureRetirementWebhook: (id: string) =>
|
|
request<SignatureRetirementWebhook>(`/admin/signature-retirement/webhooks/${id}`, { method: 'DELETE' }),
|
|
listSignatureRetirementMessages: (
|
|
query: {
|
|
dateFrom?: string;
|
|
dateTo?: string;
|
|
dimensionType?: string;
|
|
tenantId?: string;
|
|
applicationId?: string;
|
|
signatureKeyword?: string;
|
|
channelId?: string;
|
|
page?: number;
|
|
pageSize?: number;
|
|
} = {},
|
|
) => request<PagedResult<SignatureRetirementMessage>>(withQuery('/admin/signature-retirement/messages', query)),
|
|
getSignatureRetirementUnreadCount: (signal?: AbortSignal) =>
|
|
request<{ count: number }>('/admin/signature-retirement/unread-count', { signal }),
|
|
readSignatureRetirementMessage: (id: string) =>
|
|
request<SignatureRetirementMessage>(`/admin/signature-retirement/messages/${id}/read`, { method: 'POST' }),
|
|
readAllSignatureRetirementMessagesToday: () =>
|
|
request<{ count: number }>('/admin/signature-retirement/messages/read-all-today', { method: 'POST' }),
|
|
suppressSignatureRetirementMessage: (
|
|
id: string,
|
|
body: { mode: 'temporary' | 'permanent'; days?: number; reason?: string },
|
|
) =>
|
|
request<SignatureRetirementSuppression>(`/admin/signature-retirement/messages/${id}/suppress`, {
|
|
method: 'POST',
|
|
body: JSON.stringify(body),
|
|
}),
|
|
listSignatureRetirementSuppressions: () =>
|
|
request<SignatureRetirementSuppression[]>('/admin/signature-retirement/suppressions'),
|
|
cancelSignatureRetirementSuppression: (id: string, reason: string) =>
|
|
request<SignatureRetirementSuppression>(`/admin/signature-retirement/suppressions/${id}/cancel`, {
|
|
method: 'POST',
|
|
body: JSON.stringify({ reason }),
|
|
}),
|
|
getSignatureRetirementHeatmap: (date?: string) =>
|
|
request<{
|
|
date: string;
|
|
dimensions: SignatureRetirementHeatmapDimension[];
|
|
items: SignatureRetirementHeatmapItem[];
|
|
}>(withQuery('/admin/signature-retirement/heatmap', { date })),
|
|
getUnreportedSignatures: (
|
|
query: { date?: string; keyword?: string; page?: number; pageSize?: number } = {},
|
|
signal?: AbortSignal,
|
|
) =>
|
|
request<PagedResult<UnreportedSignatureItem> & { date: string } & SignatureAnalyticsMetadata>(
|
|
withQuery('/admin/signature-retirement/unreported-signatures', query),
|
|
{ signal },
|
|
),
|
|
};
|