add: tracking events.

This commit is contained in:
ItzNotABug
2024-10-01 20:41:46 +05:30
parent 0e94331119
commit c105e5deee
4 changed files with 79 additions and 2 deletions
@@ -24,6 +24,35 @@
let showCustomId = false;
let showPlanUpgradeAlert = true;
const trackEvents = (policies) => {
policies.forEach((policy) => {
let actualDay = null;
const monthlyBackupFrequency = policy.monthlyBackupFrequency;
switch (monthlyBackupFrequency) {
case 'first':
actualDay = '1st';
break;
case 'middle':
actualDay = '15th';
break;
case 'end':
default:
actualDay = '28th';
break;
}
const message = {
keepFor: `${policy.retained} days`,
frequency: policy.plainTextFrequency,
policy: policy.default ? 'preset' : 'custom'
};
if (actualDay) message['monthlyInterval'] = actualDay;
trackEvent('submit_policy_submit', message);
});
};
const createPolicies = async (resourceId: string) => {
if (!totalPolicies.length) return;
@@ -41,6 +70,7 @@
});
await Promise.all(totalPoliciesPromise);
trackEvents(totalPolicies);
};
const create = async () => {
@@ -20,6 +20,7 @@
import { ID } from '@appwrite.io/console';
import { showCreateBackup, showCreatePolicy } from './store';
import { getProjectId } from '$lib/helpers/project';
import { trackEvent } from '$lib/actions/analytics';
let policyCreateError: string;
let totalPolicies: UserBackupPolicy[] = [];
@@ -68,6 +69,7 @@
message: 'Database backup initiated'
});
invalidate(Dependencies.BACKUPS);
trackEvent('click_manual_submit');
showFeedbackNotification();
} catch (error) {
addNotification({
@@ -79,6 +81,35 @@
}
};
const trackEvents = (policies) => {
policies.forEach((policy) => {
let actualDay = null;
const monthlyBackupFrequency = policy.monthlyBackupFrequency;
switch (monthlyBackupFrequency) {
case 'first':
actualDay = '1st';
break;
case 'middle':
actualDay = '15th';
break;
case 'end':
default:
actualDay = '28th';
break;
}
const message = {
keepFor: `${policy.retained} days`,
frequency: policy.plainTextFrequency,
policy: policy.default ? 'preset' : 'custom'
};
if (actualDay) message['monthlyInterval'] = actualDay;
trackEvent('submit_policy_submit', message);
});
};
const createPolicies = async () => {
const totalPoliciesPromise = totalPolicies.map((policy) => {
cronExpression(policy);
@@ -107,6 +138,8 @@
message
});
trackEvents(totalPolicies);
invalidate(Dependencies.BACKUPS);
showFeedbackNotification();
} catch (err) {
@@ -142,7 +175,10 @@
buttonEvent="create_backup"
buttonType="secondary"
buttonDisabled={isDisabled}
buttonMethod={() => ($showCreatePolicy = true)} />
buttonMethod={() => {
$showCreatePolicy = true;
trackEvent('click_policy_create');
}} />
<BackupPolicy
bind:showCreatePolicy={$showCreatePolicy}
@@ -157,7 +193,10 @@
buttonEvent="create_backup"
buttonType="secondary"
buttonDisabled={isDisabled}
buttonMethod={() => ($showCreateBackup = true)} />
buttonMethod={() => {
$showCreateBackup = true;
trackEvent('click_manual_create');
}} />
{#if data.backups.total}
<div class="u-padding-block-start-8">
@@ -17,6 +17,7 @@
import EmptyLight from '$lib/images/backups/backups-light.png';
import type { BackupPolicy, BackupPolicyList } from '$lib/sdk/backups';
import { backupFrequencies } from '$lib/helpers/backups';
import { Submit, trackEvent } from '$lib/actions/analytics';
let showDropdown = [];
let showDelete = false;
@@ -167,6 +168,7 @@
showDelete = true;
selectedPolicy = policy;
showDropdown[index] = false;
trackEvent('click_policy_delete');
}}>
Delete
</DropListItem>
@@ -24,6 +24,7 @@
import { ID } from '@appwrite.io/console';
import { page } from '$app/stores';
import type { BackupArchive } from '$lib/sdk/backups';
import { trackEvent } from '$lib/actions/analytics';
export let data: PageData;
const databaseId = $page.params.database;
@@ -82,6 +83,9 @@
});
invalidate(Dependencies.BACKUPS);
trackEvent('backup_restore_submit', {
newDatabaseName: newDatabaseInfo.name
});
} catch (error) {
addNotification({
type: 'error',
@@ -191,6 +195,7 @@
showRestore = true;
selectedBackup = backup;
showDropdown[index] = false;
trackEvent('click_backup_restore');
}}>
Restore
</DropListItem>
@@ -200,6 +205,7 @@
showDelete = true;
selectedBackup = backup;
showDropdown[index] = false;
trackEvent('click_backup_delete');
}}>
Delete
</DropListItem>