mirror of
https://github.com/appwrite/console.git
synced 2026-06-06 19:27:48 +00:00
add: tracking events.
This commit is contained in:
@@ -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 () => {
|
||||
|
||||
+41
-2
@@ -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">
|
||||
|
||||
+2
@@ -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>
|
||||
|
||||
+6
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user