Merge branch 'pass-lifetime-fixes' into 'main'
[ProtonMail-WebClient.git] / packages / components / containers / b2bDashboard / VPN / helpers.ts
blob450d69089eff81918e14769e36e28d2ba53bd27f
1 import downloadFile from '@proton/shared/lib/helpers/downloadFile';
3 import { ALL_EVENTS_DEFAULT } from '../Pass/helpers';
5 export interface Event {
6     EventType: string;
7     EventTypeName: string;
10 export const getConnectionEvents = (items: any[]): Event[] => {
11     const defaultEvent: Event = {
12         EventType: ALL_EVENTS_DEFAULT,
13         EventTypeName: ALL_EVENTS_DEFAULT,
14     };
15     return [defaultEvent, ...items];
18 export const getVPNEventColor = (event: string) => {
19     switch (event) {
20         case 'session_end':
21             return 'color-danger';
22         case 'session_start':
23             return 'color-success';
24         default:
25             return 'color-weak';
26     }
29 export const getVPNEventIcon = (event: string) => {
30     switch (event) {
31         case 'session_end':
32             return 'lock-open-filled-2';
33         case 'session_start':
34             return 'lock-filled';
35         case 'session_roaming':
36             return 'arrows-swap-right';
37         default:
38             return 'lock-pen-filled';
39     }
42 export const downloadVPNEvents = async (response: Response) => {
43     const contentDisposition = response.headers.get('content-disposition');
44     if (!contentDisposition) {
45         return;
46     }
48     const match = contentDisposition.match(/attachment; filename=(.*)/);
49     if (!match) {
50         return null;
51     }
53     const blob = await response.blob();
54     downloadFile(blob, match[1]);