PluginProbe
Yatra – Travel Booking & Tour Operator Software / trunk
Yatra – Travel Booking & Tour Operator Software vtrunk
3.0.14 3.0.14.1 3.0.14.2 3.0.12 3.0.13 3.0.11 3.0.10 3.0.9 3.0.8 3.0.7 3.0.6 3.0.5 3.0.5.1 3.0.4 3.0.3 3.0.2.9 3.0.2.7 3.0.2.8 3.0.2.6 trunk 1.0.0 2.0.0 2.0.1 2.0.10 2.0.11 All 82 releases
yatra / resources / js / api / usage-tracking-api.ts

usage-tracking-api.ts in Yatra – Travel Booking & Tour Operator Software trunk, at resources/js/api/usage-tracking-api.ts

58 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * Opt-in usage telemetry REST API.
3 */
4
5 import { apiClient } from "../lib/api-client";
6 import { API_ENDPOINTS } from "../lib/api-endpoints";
7 import { unwrapApiPayload } from "../lib/unwrap-api-payload";
8
9 export type UsageTrackingStatus = {
10 enabled: boolean;
11 last_sync: number;
12 next_scheduled: number;
13 retry_count: number;
14 next_retry: number;
15 instance_id: string;
16 };
17
18 export async function fetchUsageTrackingStatus(): Promise<UsageTrackingStatus> {
19 return unwrapApiPayload<UsageTrackingStatus>(
20 await apiClient.get(API_ENDPOINTS.USAGE_TRACKING_STATUS),
21 );
22 }
23
24 export async function postUsageTrackingSettings(enabled: boolean): Promise<{
25 enabled: boolean;
26 }> {
27 return unwrapApiPayload<{ enabled: boolean }>(
28 await apiClient.post(API_ENDPOINTS.USAGE_TRACKING_SETTINGS, { enabled }),
29 );
30 }
31
32 export async function postUsageTrackingSend(options?: {
33 force?: boolean;
34 }): Promise<{ success: boolean; message?: string }> {
35 const body: { force?: boolean } = {};
36 if (options?.force) {
37 body.force = true;
38 }
39 return apiClient.post(API_ENDPOINTS.USAGE_TRACKING_SEND, body) as Promise<{
40 success: boolean;
41 message?: string;
42 }>;
43 }
44
45 export async function fetchUsageTrackingPreview(): Promise<{ json: string }> {
46 return unwrapApiPayload<{ json: string }>(
47 await apiClient.get(API_ENDPOINTS.USAGE_TRACKING_PREVIEW),
48 );
49 }
50
51 export async function postUsageTrackingClearCache(): Promise<unknown> {
52 return apiClient.post(API_ENDPOINTS.USAGE_TRACKING_CLEAR_CACHE, {});
53 }
54
55 export async function postUsageTrackingDeleteSnapshots(): Promise<unknown> {
56 return apiClient.post(API_ENDPOINTS.USAGE_TRACKING_DELETE_SNAPSHOTS, {});
57 }
58