UnisKB/ui/src/api/chat-user/chat-user.ts

64 lines
2.1 KiB
TypeScript
Raw Normal View History

2025-06-16 12:14:36 +00:00
import type { Ref } from 'vue'
import { Result } from '@/request/Result'
import { get, put } from '@/request/index'
2025-06-26 12:25:24 +00:00
import type { ChatUserGroupItem, ChatUserGroupUserItem, putUserGroupUserParams } from '@/api/type/workspaceChatUser'
2025-06-16 12:14:36 +00:00
import type { pageRequest, PageList } from '@/api/type/common'
2025-06-17 10:38:00 +00:00
import useStore from '@/stores'
const prefix: any = { _value: '/workspace/' }
Object.defineProperty(prefix, 'value', {
get: function () {
const { user } = useStore()
return this._value + user.getWorkspaceId()
},
})
2025-06-16 12:14:36 +00:00
/**
*
*/
2025-06-26 12:25:24 +00:00
const getUserGroupList: (resource: any, loading?: Ref<boolean>) => Promise<Result<ChatUserGroupItem[]>> = (resource, loading) => {
2025-06-17 10:38:00 +00:00
return get(`${prefix.value}/${resource.resource_type}/${resource.resource_id}/user_group`, undefined, loading)
2025-06-16 12:14:36 +00:00
}
2025-06-17 11:37:43 +00:00
/**
*
*/
2025-06-26 12:25:24 +00:00
const editUserGroupList: (resource: any, data: { user_group_id: string, is_auth: boolean }[], loading?: Ref<boolean>) => Promise<Result<any>> = (resource, data, loading) => {
2025-06-17 12:16:49 +00:00
return put(`${prefix.value}/${resource.resource_type}/${resource.resource_id}/user_group`, data, undefined, loading)
2025-06-17 11:37:43 +00:00
}
2025-06-16 12:14:36 +00:00
/**
*
*/
const getUserGroupUserList: (
2025-06-26 12:25:24 +00:00
resource: any,
2025-06-16 12:14:36 +00:00
user_group_id: string,
page: pageRequest,
params?: any,
2025-06-16 12:14:36 +00:00
loading?: Ref<boolean>,
) => Promise<Result<PageList<ChatUserGroupUserItem[]>>> = (resource, user_group_id, page, params, loading) => {
2025-06-16 12:14:36 +00:00
return get(
2025-06-17 10:38:00 +00:00
`${prefix.value}/${resource.resource_type}/${resource.resource_id}/user_group_id/${user_group_id}/${page.current_page}/${page.page_size}`,
params,
2025-06-16 12:14:36 +00:00
loading,
)
}
/**
*
*/
const putUserGroupUser: (
2025-06-26 12:25:24 +00:00
resource: any,
2025-06-16 12:14:36 +00:00
user_group_id: string,
data: putUserGroupUserParams[],
loading?: Ref<boolean>,
) => Promise<Result<boolean>> = (resource, user_group_id, data, loading) => {
2025-06-17 10:38:00 +00:00
return put(`${prefix.value}/${resource.resource_type}/${resource.resource_id}/user_group_id/${user_group_id}`, data, undefined, loading)
2025-06-16 12:14:36 +00:00
}
export default {
getUserGroupList,
2025-06-17 11:37:43 +00:00
editUserGroupList,
2025-06-16 12:14:36 +00:00
getUserGroupUserList,
putUserGroupUser
2025-06-17 10:38:00 +00:00
}