add now features
This commit is contained in:
33
frontend/src/services/nextcloud.ts
Normal file
33
frontend/src/services/nextcloud.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import { api } from './api';
|
||||
import type { NextcloudTalkData, NextcloudConnectData, NextcloudPollData } from '../types/nextcloud.types';
|
||||
|
||||
interface ApiResponse<T> {
|
||||
success: boolean;
|
||||
data: T;
|
||||
}
|
||||
|
||||
export const nextcloudApi = {
|
||||
getConversations(): Promise<NextcloudTalkData> {
|
||||
return api
|
||||
.get<ApiResponse<NextcloudTalkData>>('/api/nextcloud/talk')
|
||||
.then((r) => r.data.data);
|
||||
},
|
||||
|
||||
connect(): Promise<NextcloudConnectData> {
|
||||
return api
|
||||
.post<ApiResponse<NextcloudConnectData>>('/api/nextcloud/talk/connect')
|
||||
.then((r) => r.data.data);
|
||||
},
|
||||
|
||||
poll(pollToken: string, pollEndpoint: string): Promise<NextcloudPollData> {
|
||||
return api
|
||||
.post<ApiResponse<NextcloudPollData>>('/api/nextcloud/talk/poll', { pollToken, pollEndpoint })
|
||||
.then((r) => r.data.data);
|
||||
},
|
||||
|
||||
disconnect(): Promise<void> {
|
||||
return api
|
||||
.delete('/api/nextcloud/talk/connect')
|
||||
.then(() => undefined);
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user