feat(admin): implement operations dashboard stats

This commit is contained in:
saltbo
2026-07-09 23:34:03 -04:00
committed by Jasper Van
parent 983a5540bd
commit b7f7fa7ecd
40 changed files with 8468 additions and 1000 deletions
+62
View File
@@ -0,0 +1,62 @@
CREATE TABLE `stats_rollup_state` (
`job_name` text PRIMARY KEY NOT NULL,
`cursor_created_at` integer,
`cursor_id` text,
`updated_at` integer NOT NULL
);
--> statement-breakpoint
CREATE TABLE `stats_rollups_daily` (
`id` text PRIMARY KEY NOT NULL,
`bucket_start` integer NOT NULL,
`org_id` text DEFAULT '' NOT NULL,
`metric_key` text NOT NULL,
`dimension_key` text DEFAULT '' NOT NULL,
`dimension_value` text DEFAULT '' NOT NULL,
`count` integer DEFAULT 0 NOT NULL,
`bytes` integer DEFAULT 0 NOT NULL,
`unique_count` integer DEFAULT 0 NOT NULL,
`metadata` text,
`updated_at` integer NOT NULL
);
--> statement-breakpoint
CREATE UNIQUE INDEX `stats_rollups_daily_bucket_metric_dim_uniq` ON `stats_rollups_daily` (`bucket_start`,`org_id`,`metric_key`,`dimension_key`,`dimension_value`);--> statement-breakpoint
CREATE INDEX `stats_rollups_daily_metric_bucket_idx` ON `stats_rollups_daily` (`metric_key`,`bucket_start`);--> statement-breakpoint
CREATE TABLE `stats_rollups_hourly` (
`id` text PRIMARY KEY NOT NULL,
`bucket_start` integer NOT NULL,
`org_id` text DEFAULT '' NOT NULL,
`metric_key` text NOT NULL,
`dimension_key` text DEFAULT '' NOT NULL,
`dimension_value` text DEFAULT '' NOT NULL,
`count` integer DEFAULT 0 NOT NULL,
`bytes` integer DEFAULT 0 NOT NULL,
`unique_count` integer DEFAULT 0 NOT NULL,
`metadata` text,
`updated_at` integer NOT NULL
);
--> statement-breakpoint
CREATE UNIQUE INDEX `stats_rollups_hourly_bucket_metric_dim_uniq` ON `stats_rollups_hourly` (`bucket_start`,`org_id`,`metric_key`,`dimension_key`,`dimension_value`);--> statement-breakpoint
CREATE INDEX `stats_rollups_hourly_metric_bucket_idx` ON `stats_rollups_hourly` (`metric_key`,`bucket_start`);--> statement-breakpoint
PRAGMA foreign_keys=OFF;--> statement-breakpoint
CREATE TABLE `__new_activity_events` (
`id` text PRIMARY KEY NOT NULL,
`org_id` text NOT NULL,
`user_id` text,
`actor_type` text DEFAULT 'user' NOT NULL,
`actor_ref` text,
`action` text NOT NULL,
`target_type` text NOT NULL,
`target_id` text,
`target_name` text NOT NULL,
`metadata` text,
`created_at` integer NOT NULL
);
--> statement-breakpoint
INSERT INTO `__new_activity_events`("id", "org_id", "user_id", "actor_type", "actor_ref", "action", "target_type", "target_id", "target_name", "metadata", "created_at") SELECT "id", "org_id", "user_id", 'user', NULL, "action", "target_type", "target_id", "target_name", "metadata", "created_at" FROM `activity_events`;--> statement-breakpoint
DROP TABLE `activity_events`;--> statement-breakpoint
ALTER TABLE `__new_activity_events` RENAME TO `activity_events`;--> statement-breakpoint
PRAGMA foreign_keys=ON;--> statement-breakpoint
CREATE INDEX `activity_events_org_created_idx` ON `activity_events` (`org_id`,`created_at`);--> statement-breakpoint
CREATE INDEX `activity_events_user_created_idx` ON `activity_events` (`user_id`,`created_at`);--> statement-breakpoint
CREATE INDEX `activity_events_action_created_idx` ON `activity_events` (`action`,`created_at`);--> statement-breakpoint
CREATE INDEX `activity_events_target_created_idx` ON `activity_events` (`target_type`,`target_id`,`created_at`);
File diff suppressed because it is too large Load Diff
+7
View File
@@ -372,6 +372,13 @@
"when": 1782781065387,
"tag": "0053_striped_pride",
"breakpoints": true
},
{
"idx": 54,
"version": "6",
"when": 1783616186203,
"tag": "0054_flippant_lila_cheney",
"breakpoints": true
}
]
}