feat(aihr): add M1 broadcast targeting and mandatory reads
This commit is contained in:
@@ -8,6 +8,23 @@ type ApiResult<T> = {
|
||||
|
||||
export type BroadcastStatus = 'PUBLISHED' | 'WITHDRAWN';
|
||||
|
||||
export type BroadcastTargetRequest = {
|
||||
projectCodes: string[];
|
||||
positionNames: string[];
|
||||
positionLevels: string[];
|
||||
};
|
||||
|
||||
export type BroadcastTargetOption = {
|
||||
value: string;
|
||||
label: string;
|
||||
};
|
||||
|
||||
export type BroadcastTargetOptions = {
|
||||
projects: BroadcastTargetOption[];
|
||||
positionNames: BroadcastTargetOption[];
|
||||
positionLevels: BroadcastTargetOption[];
|
||||
};
|
||||
|
||||
export type BroadcastAdminMessage = {
|
||||
id: number;
|
||||
title: string;
|
||||
@@ -19,6 +36,10 @@ export type BroadcastAdminMessage = {
|
||||
withdrawnBy?: number;
|
||||
withdrawnAt?: string;
|
||||
withdrawReason?: string;
|
||||
requiredRead: boolean;
|
||||
targetRuleCount: number;
|
||||
matchedRecipientCount: number;
|
||||
unmatchedTargetCount: number;
|
||||
};
|
||||
|
||||
export type BroadcastAdminPage = {
|
||||
@@ -35,6 +56,8 @@ export type PublishBroadcastRequest = {
|
||||
title: string;
|
||||
content: string;
|
||||
expectedTenantId: string;
|
||||
requiredRead: boolean;
|
||||
targets: BroadcastTargetRequest;
|
||||
};
|
||||
|
||||
export type WithdrawBroadcastRequest = {
|
||||
@@ -54,7 +77,19 @@ export function listBroadcastAdminMessages(params: {
|
||||
});
|
||||
}
|
||||
|
||||
export function publishBroadcast(data: PublishBroadcastRequest): Promise<ApiResult<{ id: number; version: number }>> {
|
||||
export function loadBroadcastTargetOptions(): Promise<ApiResult<BroadcastTargetOptions>> {
|
||||
return request({
|
||||
url: '/api/aihr/broadcast/admin/target-options',
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
||||
export function publishBroadcast(data: PublishBroadcastRequest): Promise<ApiResult<{
|
||||
id: number;
|
||||
version: number;
|
||||
matchedRecipientCount: number;
|
||||
unmatchedTargetCount: number;
|
||||
}>> {
|
||||
return request({
|
||||
url: '/api/aihr/broadcast/messages',
|
||||
method: 'post',
|
||||
|
||||
Reference in New Issue
Block a user