@robotical/appv2-analytics-gatherer
Version:
A tool that gathers data from the Apps and sends it to the Analytics server
30 lines (29 loc) • 1.86 kB
TypeScript
import { FirestoreCollectionsProcessedEnumLevel2 } from "./types";
export type GroupedDataKey = `${string}=>${string}`;
export type GroupedDataCounted = Record<GroupedDataKey, number>;
export type GroupedDataGeneric<T> = Record<GroupedDataKey, T>;
export type CountersInGroupedData = Record<GroupedDataKey, Record<string, number>>;
export type RetentionStats = {
cohortSize: number;
currentCohortSize: number;
retainedCount: number;
retentionRate: number;
};
export type GroupedDataRetention = GroupedDataGeneric<RetentionStats>;
export type AllMetadata = {
[FirestoreCollectionsProcessedEnumLevel2.SESSIONS_N_PER_WEEK_METADATA]: GenericGroupedMetadata;
[FirestoreCollectionsProcessedEnumLevel2.UNIQUE_DEVICES_N_PER_WEEK_METADATA]: GenericGroupedMetadata;
[FirestoreCollectionsProcessedEnumLevel2.UNIQUE_COGS_PER_WEEK_METADATA]: GenericGroupedMetadata;
[FirestoreCollectionsProcessedEnumLevel2.UNIQUE_MARTYS_PER_WEEK_METADATA]: GenericGroupedMetadata;
[FirestoreCollectionsProcessedEnumLevel2.VISITED_SCREENS_FREQUENCY_PER_WEEK_METADATA]: GenericGroupedMetadata;
[FirestoreCollectionsProcessedEnumLevel2.VISITED_ACTIVITIES_FREQUENCY_PER_WEEK_METADATA]: GenericGroupedMetadata;
[FirestoreCollectionsProcessedEnumLevel2.SESSIONS_TIME_SPENT_PER_WEEK_METADATA]: GenericGroupedMetadata;
[FirestoreCollectionsProcessedEnumLevel2.SCREENS_TIME_SPENT_PER_WEEK_METADATA]: GenericGroupedMetadata;
[FirestoreCollectionsProcessedEnumLevel2.ACTIVITIES_TIME_SPENT_PER_WEEK_METADATA]: GenericGroupedMetadata;
[FirestoreCollectionsProcessedEnumLevel2.COG_RETENTION_RATE_PER_WEEK_METADATA]: GenericGroupedMetadata;
[FirestoreCollectionsProcessedEnumLevel2.MARTY_RETENTION_RATE_PER_WEEK_METADATA]: GenericGroupedMetadata;
};
export type GenericGroupedMetadata = {
lastGroup: GroupedDataKey;
createdAt?: string;
};