60 lines
1.6 KiB
TypeScript
60 lines
1.6 KiB
TypeScript
|
|
import request from '@/utils/request';
|
||
|
|
import type { AxiosResponse } from 'axios';
|
||
|
|
import type { MessageListData } from '@/views/Notice/components/types';
|
||
|
|
|
||
|
|
// 获取用户未读消息数
|
||
|
|
export function getUnreadCount(params: { [propName: string]: any }): Promise<AxiosResponse<{ all: number; issue: number; mr: number; }>> {
|
||
|
|
return request({
|
||
|
|
url: '/api/v1/internal/messages/count_unread',
|
||
|
|
method: 'get',
|
||
|
|
params
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
// 设置消息为已读
|
||
|
|
export function setRead(data: { message_ids: number[] }): Promise<AxiosResponse<any>> {
|
||
|
|
return request({
|
||
|
|
url: '/api/v1/internal/messages/set_read',
|
||
|
|
method: 'put',
|
||
|
|
data
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
// 获取用户消息列表
|
||
|
|
type MessageListQuery = {
|
||
|
|
page?: number;
|
||
|
|
pageSize?: number;
|
||
|
|
status?: string;
|
||
|
|
message_type?: string;
|
||
|
|
reason?: string;
|
||
|
|
creator_id?: number;
|
||
|
|
search?: string;
|
||
|
|
project_id?: number;
|
||
|
|
[propName: string]: any;
|
||
|
|
}
|
||
|
|
export function getMessageList(params: MessageListQuery): Promise<AxiosResponse<MessageListData[]>> {
|
||
|
|
return request({
|
||
|
|
url: '/api/v1/internal/messages',
|
||
|
|
method: 'get',
|
||
|
|
params
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
// 获取项目列表
|
||
|
|
export function getMessageRepoList(params: { page_num?: number; page_size?: number; search?: string; }): Promise<AxiosResponse<{ project_full_path: string; project_id: number; unread_count?: number; }[]>> {
|
||
|
|
return request({
|
||
|
|
url: '/api/v1/internal/messages/projects',
|
||
|
|
method: 'get',
|
||
|
|
params
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
/** 获取邀请相关未读信息 */
|
||
|
|
export function getMessageCount() {
|
||
|
|
return request({
|
||
|
|
url: '/api/v1/user/notify/targetInfo',
|
||
|
|
method: 'get',
|
||
|
|
params: {}
|
||
|
|
});
|
||
|
|
}
|