56 lines
1.4 KiB
TypeScript
56 lines
1.4 KiB
TypeScript
export const FINANCIAL_DISCLOSURE_STATUSES = ['DRAFT', 'PUBLISHED', 'ARCHIVED'] as const;
|
|
export type FinancialDisclosureStatus = (typeof FINANCIAL_DISCLOSURE_STATUSES)[number];
|
|
|
|
export const FINANCIAL_DISCLOSURE_STATUS_LABELS: Record<FinancialDisclosureStatus, string> = {
|
|
DRAFT: '草稿',
|
|
PUBLISHED: '已发布',
|
|
ARCHIVED: '已归档',
|
|
};
|
|
|
|
export interface FinancialDisclosureListItem {
|
|
publicId: string;
|
|
title: string;
|
|
summary: string | null;
|
|
status: FinancialDisclosureStatus;
|
|
isPinned: boolean;
|
|
sortOrder: number;
|
|
revision: number;
|
|
publishedAt: string | null;
|
|
updatedAt: string;
|
|
}
|
|
|
|
export interface FinancialDisclosureDetail extends FinancialDisclosureListItem {
|
|
richText: string;
|
|
}
|
|
|
|
export interface PaginatedFinancialDisclosuresResponse {
|
|
items: FinancialDisclosureListItem[];
|
|
page: number;
|
|
pageSize: number;
|
|
total: number;
|
|
}
|
|
|
|
export interface FinancialDisclosureDetailResponse {
|
|
disclosure: FinancialDisclosureDetail;
|
|
}
|
|
export interface CreateFinancialDisclosureRequest {
|
|
clientRequestId: string;
|
|
title: string;
|
|
summary?: string;
|
|
richText: string;
|
|
isPinned?: boolean;
|
|
sortOrder?: number;
|
|
}
|
|
export interface UpdateFinancialDisclosureRequest {
|
|
expectedRevision: number;
|
|
title: string;
|
|
summary?: string;
|
|
richText: string;
|
|
isPinned?: boolean;
|
|
sortOrder?: number;
|
|
}
|
|
export interface TransitionFinancialDisclosureRequest {
|
|
clientRequestId: string;
|
|
targetStatus: 'PUBLISHED' | 'ARCHIVED';
|
|
}
|