1- import type { IMessage , IRoom } from '@rocket.chat/core-typings' ;
1+ import type { ILivechatDepartment , IMessage , IRoom , ITeam , IUser } from '@rocket.chat/core-typings' ;
22
33export const roomsQueryKeys = {
44 all : [ 'rooms' ] as const ,
@@ -25,3 +25,78 @@ export const rolesQueryKeys = {
2525 all : [ 'roles' ] as const ,
2626 userRoles : ( ) => [ ...rolesQueryKeys . all , 'user-roles' ] as const ,
2727} ;
28+
29+ export const omnichannelQueryKeys = {
30+ all : [ 'omnichannel' ] as const ,
31+ department : ( id : string ) => [ ...omnichannelQueryKeys . all , 'department' , id ] as const ,
32+ extensions : (
33+ params :
34+ | {
35+ userId : string ;
36+ type : 'free' | 'allocated' | 'available' ;
37+ }
38+ | {
39+ username : string ;
40+ type : 'free' | 'allocated' | 'available' ;
41+ } ,
42+ ) => [ ...omnichannelQueryKeys . all , 'extensions' , params ] as const ,
43+ livechat : {
44+ appearance : ( ) => [ ...omnichannelQueryKeys . all , 'livechat' , 'appearance' ] as const ,
45+ customFields : ( ) => [ ...omnichannelQueryKeys . all , 'livechat' , 'custom-fields' ] as const ,
46+ } ,
47+ visitorInfo : ( uid : string ) => [ ...omnichannelQueryKeys . all , 'visitor-info' , uid ] as const ,
48+ analytics : {
49+ all : ( departmentId : ILivechatDepartment [ '_id' ] ) => [ ...omnichannelQueryKeys . all , 'analytics' , departmentId ] as const ,
50+ agentsStatus : ( departmentId : ILivechatDepartment [ '_id' ] ) =>
51+ [ ...omnichannelQueryKeys . analytics . all ( departmentId ) , 'agents-status' ] as const ,
52+ timings : ( departmentId : ILivechatDepartment [ '_id' ] , dateRange : { start : string ; end : string } ) =>
53+ [ ...omnichannelQueryKeys . analytics . all ( departmentId ) , 'timings' , dateRange ] as const ,
54+ chats : ( departmentId : ILivechatDepartment [ '_id' ] , dateRange : { start : string ; end : string } ) =>
55+ [ ...omnichannelQueryKeys . analytics . all ( departmentId ) , 'chats' , dateRange ] as const ,
56+ chatsPerAgent : ( departmentId : ILivechatDepartment [ '_id' ] , dateRange : { start : string ; end : string } ) =>
57+ [ ...omnichannelQueryKeys . analytics . all ( departmentId ) , 'chats-per-agent' , dateRange ] as const ,
58+ chatsPerDepartment : ( departmentId : ILivechatDepartment [ '_id' ] , dateRange : { start : string ; end : string } ) =>
59+ [ ...omnichannelQueryKeys . analytics . all ( departmentId ) , 'chats-per-department' , dateRange ] as const ,
60+ agentsProductivityTotals : ( departmentId : ILivechatDepartment [ '_id' ] , dateRange : { start : string ; end : string } ) =>
61+ [ ...omnichannelQueryKeys . analytics . all ( departmentId ) , 'agents-productivity' , dateRange ] as const ,
62+ chatsTotals : ( departmentId : ILivechatDepartment [ '_id' ] , dateRange : { start : string ; end : string } ) =>
63+ [ ...omnichannelQueryKeys . analytics . all ( departmentId ) , 'chats-totals' , dateRange ] as const ,
64+ conversationTotals : ( departmentId : ILivechatDepartment [ '_id' ] , dateRange : { start : string ; end : string } ) =>
65+ [ ...omnichannelQueryKeys . analytics . all ( departmentId ) , 'conversation-totals' , dateRange ] as const ,
66+ productivityTotals : ( departmentId : ILivechatDepartment [ '_id' ] , dateRange : { start : string ; end : string } ) =>
67+ [ ...omnichannelQueryKeys . analytics . all ( departmentId ) , 'productivity-totals' , dateRange ] as const ,
68+ } ,
69+ } ;
70+
71+ export const deviceManagementQueryKeys = {
72+ all : [ 'device-management' ] as const ,
73+ userSessions : ( params : { sort ?: string ; count ?: number ; offset ?: number } ) =>
74+ [ ...deviceManagementQueryKeys . all , 'users-sessions' , params ] as const ,
75+ sessions : ( params : { sort ?: string ; count ?: number ; offset ?: number } ) =>
76+ [ ...deviceManagementQueryKeys . all , 'all-users-sessions' , params ] as const ,
77+ sessionInfo : ( sessionId : string ) => [ ...deviceManagementQueryKeys . all , 'session-info' , sessionId ] as const ,
78+ } ;
79+
80+ export const miscQueryKeys = {
81+ personalAccessTokens : [ 'personal-access-tokens' ] as const ,
82+ lookup : ( endpoint : string ) => [ 'lookup' , endpoint ] as const ,
83+ autotranslateSupportedLanguages : ( targetLanguage : string ) => [ 'autotranslate' , 'supported-languages' , targetLanguage ] as const ,
84+ } ;
85+
86+ export const voipQueryKeys = {
87+ all : [ 'voip' ] as const ,
88+ room : ( rid : IRoom [ '_id' ] , token : string ) => [ ...voipQueryKeys . all , 'room' , rid , token ] as const ,
89+ } ;
90+
91+ export const usersQueryKeys = {
92+ all : [ 'users' ] as const ,
93+ userInfo : ( { uid, username } : { uid ?: IUser [ '_id' ] ; username ?: IUser [ 'username' ] } ) =>
94+ [ ...usersQueryKeys . all , 'info' , { uid, username } ] as const ,
95+ } ;
96+
97+ export const teamsQueryKeys = {
98+ all : [ 'teams' ] as const ,
99+ team : ( teamId : ITeam [ '_id' ] ) => [ ...teamsQueryKeys . all , teamId ] as const ,
100+ roomsOfUser : ( teamId : ITeam [ '_id' ] , userId : IUser [ '_id' ] , options ?: { canUserDelete : boolean } ) =>
101+ [ ...teamsQueryKeys . team ( teamId ) , 'rooms-of-user' , userId , options ] as const ,
102+ } ;
0 commit comments