This commit is contained in:
78
src/api/modules/wecom.ts
Normal file
78
src/api/modules/wecom.ts
Normal file
@@ -0,0 +1,78 @@
|
||||
import { BaseService } from '../BaseService'
|
||||
import type {
|
||||
BaseResponse,
|
||||
WecomAccountBindingRequest,
|
||||
WecomApplication,
|
||||
WecomApplicationListResponse,
|
||||
WecomApplicationQueryParams,
|
||||
WecomApplicationRequest,
|
||||
WecomApplicationResponse,
|
||||
WecomBusinessType,
|
||||
WecomMemberListResponse,
|
||||
WecomMemberQueryParams,
|
||||
WecomSceneListResponse,
|
||||
WecomSceneQueryParams,
|
||||
WecomSceneRequest,
|
||||
WecomSceneResponse,
|
||||
WecomSyncMembersApiResponse
|
||||
} from '@/types/api'
|
||||
|
||||
export class WecomService extends BaseService {
|
||||
static getApplications(
|
||||
params?: WecomApplicationQueryParams
|
||||
): Promise<WecomApplicationListResponse> {
|
||||
return this.get<WecomApplicationListResponse>('/api/admin/wecom/applications', params)
|
||||
}
|
||||
|
||||
static saveApplication(data: WecomApplicationRequest): Promise<WecomApplicationResponse> {
|
||||
return this.post<WecomApplicationResponse>('/api/admin/wecom/applications', data)
|
||||
}
|
||||
|
||||
static testApplication(id: number): Promise<BaseResponse<{ success: boolean }>> {
|
||||
return this.post<BaseResponse<{ success: boolean }>>(`/api/admin/wecom/applications/${id}/test`)
|
||||
}
|
||||
|
||||
static syncMembers(id: number): Promise<WecomSyncMembersApiResponse> {
|
||||
return this.post<WecomSyncMembersApiResponse>(
|
||||
`/api/admin/wecom/applications/${id}/members/sync`
|
||||
)
|
||||
}
|
||||
|
||||
static getMembers(
|
||||
id: number,
|
||||
params?: WecomMemberQueryParams
|
||||
): Promise<WecomMemberListResponse> {
|
||||
return this.get<WecomMemberListResponse>(
|
||||
`/api/admin/wecom/applications/${id}/members`,
|
||||
params
|
||||
)
|
||||
}
|
||||
|
||||
static setDefaultCreator(id: number, userid: string): Promise<WecomApplicationResponse> {
|
||||
return this.put<WecomApplicationResponse>(
|
||||
`/api/admin/wecom/applications/${id}/default-creator`,
|
||||
{ userid }
|
||||
)
|
||||
}
|
||||
|
||||
static getScenes(params?: WecomSceneQueryParams): Promise<WecomSceneListResponse> {
|
||||
return this.get<WecomSceneListResponse>('/api/admin/wecom/scenes', params)
|
||||
}
|
||||
|
||||
static saveScene(
|
||||
businessType: WecomBusinessType,
|
||||
data: WecomSceneRequest
|
||||
): Promise<WecomSceneResponse> {
|
||||
return this.put<WecomSceneResponse>(`/api/admin/wecom/scenes/${businessType}`, data)
|
||||
}
|
||||
|
||||
static bindAccount(
|
||||
accountId: number,
|
||||
data: WecomAccountBindingRequest
|
||||
): Promise<BaseResponse<WecomApplication>> {
|
||||
return this.put<BaseResponse<WecomApplication>>(
|
||||
`/api/admin/accounts/${accountId}/wecom-binding`,
|
||||
data
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user