feat(gitea): add Gitea repository support

This commit is contained in:
Jason Parks
2025-03-17 15:17:35 -06:00
parent cf28640188
commit 9a11d0db97
101 changed files with 3272 additions and 2075 deletions

View File

@@ -0,0 +1,157 @@
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_enum WHERE enumlabel = 'gitea' AND
enumtypid = (SELECT oid FROM pg_type WHERE typname = 'sourceType')) THEN
ALTER TYPE "public"."sourceType" ADD VALUE 'gitea' BEFORE 'drop';
END IF;
END
$$;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_enum WHERE enumlabel = 'gitea' AND
enumtypid = (SELECT oid FROM pg_type WHERE typname = 'sourceTypeCompose')) THEN
ALTER TYPE "public"."sourceTypeCompose" ADD VALUE 'gitea' BEFORE 'raw';
END IF;
END
$$;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM pg_enum WHERE enumlabel = 'gitea' AND
enumtypid = (SELECT oid FROM pg_type WHERE typname = 'gitProviderType')) THEN
ALTER TYPE "public"."gitProviderType" ADD VALUE 'gitea';
END IF;
END
$$;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'gitea') THEN
CREATE TABLE "gitea" (
"giteaId" text PRIMARY KEY NOT NULL,
"giteaUrl" text DEFAULT 'https://gitea.com' NOT NULL,
"redirect_uri" text,
"client_id" text,
"client_secret" text,
"gitProviderId" text NOT NULL,
"gitea_username" text,
"access_token" text,
"refresh_token" text,
"expires_at" integer,
"scopes" text DEFAULT 'repo,repo:status,read:user,read:org',
"last_authenticated_at" integer
);
END IF;
END
$$;
--> statement-breakpoint
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'application' AND column_name = 'giteaProjectId') THEN
ALTER TABLE "application" ADD COLUMN "giteaProjectId" integer;
END IF;
END $$;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'application' AND column_name = 'giteaRepository') THEN
ALTER TABLE "application" ADD COLUMN "giteaRepository" text;
END IF;
END $$;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'application' AND column_name = 'giteaOwner') THEN
ALTER TABLE "application" ADD COLUMN "giteaOwner" text;
END IF;
END $$;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'application' AND column_name = 'giteaBranch') THEN
ALTER TABLE "application" ADD COLUMN "giteaBranch" text;
END IF;
END $$;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'application' AND column_name = 'giteaBuildPath') THEN
ALTER TABLE "application" ADD COLUMN "giteaBuildPath" text DEFAULT '/';
END IF;
END $$;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'application' AND column_name = 'giteaPathNamespace') THEN
ALTER TABLE "application" ADD COLUMN "giteaPathNamespace" text;
END IF;
END $$;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'application' AND column_name = 'giteaId') THEN
ALTER TABLE "application" ADD COLUMN "giteaId" text;
END IF;
END $$;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'compose' AND column_name = 'giteaRepository') THEN
ALTER TABLE "compose" ADD COLUMN "giteaRepository" text;
END IF;
END $$;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'compose' AND column_name = 'giteaOwner') THEN
ALTER TABLE "compose" ADD COLUMN "giteaOwner" text;
END IF;
END $$;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'compose' AND column_name = 'giteaBranch') THEN
ALTER TABLE "compose" ADD COLUMN "giteaBranch" text;
END IF;
END $$;
DO $$
BEGIN
IF NOT EXISTS (SELECT 1 FROM information_schema.columns WHERE table_name = 'compose' AND column_name = 'giteaId') THEN
ALTER TABLE "compose" ADD COLUMN "giteaId" text;
END IF;
END $$;
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1 FROM information_schema.table_constraints
WHERE constraint_name = 'gitea_gitProviderId_git_provider_gitProviderId_fk'
) THEN
ALTER TABLE "gitea" ADD CONSTRAINT "gitea_gitProviderId_git_provider_gitProviderId_fk"
FOREIGN KEY ("gitProviderId") REFERENCES "public"."git_provider"("gitProviderId")
ON DELETE cascade ON UPDATE no action;
END IF;
END $$;
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1 FROM information_schema.table_constraints
WHERE constraint_name = 'application_giteaId_gitea_giteaId_fk'
) THEN
ALTER TABLE "application" ADD CONSTRAINT "application_giteaId_gitea_giteaId_fk"
FOREIGN KEY ("giteaId") REFERENCES "public"."gitea"("giteaId")
ON DELETE set null ON UPDATE no action;
END IF;
END $$;
DO $$
BEGIN
IF NOT EXISTS (
SELECT 1 FROM information_schema.table_constraints
WHERE constraint_name = 'compose_giteaId_gitea_giteaId_fk'
) THEN
ALTER TABLE "compose" ADD CONSTRAINT "compose_giteaId_gitea_giteaId_fk"
FOREIGN KEY ("giteaId") REFERENCES "public"."gitea"("giteaId")
ON DELETE set null ON UPDATE no action;
END IF;
END $$;

View File

@@ -1,6 +1,6 @@
{
"id": "27ba0f3d-859f-4233-a179-8aee11ad9179",
"prevId": "dd51ff04-a160-4d0d-b72f-4916493b740f",
"id": "7c8508ba-01eb-487e-88cf-0abe10916904",
"prevId": "f74127dc-3cda-4091-988f-97b60eb22427",
"version": "7",
"dialect": "postgresql",
"tables": {
@@ -179,6 +179,13 @@
"notNull": true,
"default": "'github'"
},
"cleanCache": {
"name": "cleanCache",
"type": "boolean",
"primaryKey": false,
"notNull": false,
"default": false
},
"repository": {
"name": "repository",
"type": "text",
@@ -247,6 +254,43 @@
"primaryKey": false,
"notNull": false
},
"giteaProjectId": {
"name": "giteaProjectId",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"giteaRepository": {
"name": "giteaRepository",
"type": "text",
"primaryKey": false,
"notNull": false
},
"giteaOwner": {
"name": "giteaOwner",
"type": "text",
"primaryKey": false,
"notNull": false
},
"giteaBranch": {
"name": "giteaBranch",
"type": "text",
"primaryKey": false,
"notNull": false
},
"giteaBuildPath": {
"name": "giteaBuildPath",
"type": "text",
"primaryKey": false,
"notNull": false,
"default": "'/'"
},
"giteaPathNamespace": {
"name": "giteaPathNamespace",
"type": "text",
"primaryKey": false,
"notNull": false
},
"bitbucketRepository": {
"name": "bitbucketRepository",
"type": "text",
@@ -458,6 +502,12 @@
"primaryKey": false,
"notNull": false
},
"giteaId": {
"name": "giteaId",
"type": "text",
"primaryKey": false,
"notNull": false
},
"bitbucketId": {
"name": "bitbucketId",
"type": "text",
@@ -538,6 +588,19 @@
"onDelete": "set null",
"onUpdate": "no action"
},
"application_giteaId_gitea_giteaId_fk": {
"name": "application_giteaId_gitea_giteaId_fk",
"tableFrom": "application",
"tableTo": "gitea",
"columnsFrom": [
"giteaId"
],
"columnsTo": [
"giteaId"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"application_bitbucketId_bitbucket_bitbucketId_fk": {
"name": "application_bitbucketId_bitbucket_bitbucketId_fk",
"tableFrom": "application",
@@ -1703,6 +1766,12 @@
"primaryKey": false,
"notNull": true
},
"keepLatestCount": {
"name": "keepLatestCount",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"databaseType": {
"name": "databaseType",
"type": "databaseType",
@@ -2908,6 +2977,24 @@
"primaryKey": false,
"notNull": false
},
"giteaRepository": {
"name": "giteaRepository",
"type": "text",
"primaryKey": false,
"notNull": false
},
"giteaOwner": {
"name": "giteaOwner",
"type": "text",
"primaryKey": false,
"notNull": false
},
"giteaBranch": {
"name": "giteaBranch",
"type": "text",
"primaryKey": false,
"notNull": false
},
"customGitUrl": {
"name": "customGitUrl",
"type": "text",
@@ -3005,6 +3092,12 @@
"primaryKey": false,
"notNull": false
},
"giteaId": {
"name": "giteaId",
"type": "text",
"primaryKey": false,
"notNull": false
},
"serverId": {
"name": "serverId",
"type": "text",
@@ -3079,6 +3172,19 @@
"onDelete": "set null",
"onUpdate": "no action"
},
"compose_giteaId_gitea_giteaId_fk": {
"name": "compose_giteaId_gitea_giteaId_fk",
"tableFrom": "compose",
"tableTo": "gitea",
"columnsFrom": [
"giteaId"
],
"columnsTo": [
"giteaId"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"compose_serverId_server_serverId_fk": {
"name": "compose_serverId_server_serverId_fk",
"tableFrom": "compose",
@@ -3937,6 +4043,107 @@
"checkConstraints": {},
"isRLSEnabled": false
},
"public.gitea": {
"name": "gitea",
"schema": "",
"columns": {
"giteaId": {
"name": "giteaId",
"type": "text",
"primaryKey": true,
"notNull": true
},
"giteaUrl": {
"name": "giteaUrl",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'https://gitea.com'"
},
"redirect_uri": {
"name": "redirect_uri",
"type": "text",
"primaryKey": false,
"notNull": false
},
"client_id": {
"name": "client_id",
"type": "text",
"primaryKey": false,
"notNull": false
},
"client_secret": {
"name": "client_secret",
"type": "text",
"primaryKey": false,
"notNull": false
},
"gitProviderId": {
"name": "gitProviderId",
"type": "text",
"primaryKey": false,
"notNull": true
},
"gitea_username": {
"name": "gitea_username",
"type": "text",
"primaryKey": false,
"notNull": false
},
"access_token": {
"name": "access_token",
"type": "text",
"primaryKey": false,
"notNull": false
},
"refresh_token": {
"name": "refresh_token",
"type": "text",
"primaryKey": false,
"notNull": false
},
"expires_at": {
"name": "expires_at",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"scopes": {
"name": "scopes",
"type": "text",
"primaryKey": false,
"notNull": false,
"default": "'repo,repo:status,read:user,read:org'"
},
"last_authenticated_at": {
"name": "last_authenticated_at",
"type": "integer",
"primaryKey": false,
"notNull": false
}
},
"indexes": {},
"foreignKeys": {
"gitea_gitProviderId_git_provider_gitProviderId_fk": {
"name": "gitea_gitProviderId_git_provider_gitProviderId_fk",
"tableFrom": "gitea",
"tableTo": "git_provider",
"columnsFrom": [
"gitProviderId"
],
"columnsTo": [
"gitProviderId"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.server": {
"name": "server",
"schema": "",
@@ -5001,6 +5208,7 @@
"github",
"gitlab",
"bitbucket",
"gitea",
"drop"
]
},
@@ -5097,6 +5305,7 @@
"github",
"gitlab",
"bitbucket",
"gitea",
"raw"
]
},
@@ -5125,7 +5334,8 @@
"values": [
"github",
"gitlab",
"bitbucket"
"bitbucket",
"gitea"
]
},
"public.serverStatus": {

View File

@@ -1,6 +1,6 @@
{
"id": "d4d95ab9-16bd-4583-949e-d6ae0a0bb7a0",
"prevId": "27ba0f3d-859f-4233-a179-8aee11ad9179",
"id": "c8f3ee9b-66c6-4a23-a151-78e04363bdf9",
"prevId": "f74127dc-3cda-4091-988f-97b60eb22427",
"version": "7",
"dialect": "postgresql",
"tables": {
@@ -179,6 +179,13 @@
"notNull": true,
"default": "'github'"
},
"cleanCache": {
"name": "cleanCache",
"type": "boolean",
"primaryKey": false,
"notNull": false,
"default": false
},
"repository": {
"name": "repository",
"type": "text",
@@ -247,6 +254,43 @@
"primaryKey": false,
"notNull": false
},
"giteaProjectId": {
"name": "giteaProjectId",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"giteaRepository": {
"name": "giteaRepository",
"type": "text",
"primaryKey": false,
"notNull": false
},
"giteaOwner": {
"name": "giteaOwner",
"type": "text",
"primaryKey": false,
"notNull": false
},
"giteaBranch": {
"name": "giteaBranch",
"type": "text",
"primaryKey": false,
"notNull": false
},
"giteaBuildPath": {
"name": "giteaBuildPath",
"type": "text",
"primaryKey": false,
"notNull": false,
"default": "'/'"
},
"giteaPathNamespace": {
"name": "giteaPathNamespace",
"type": "text",
"primaryKey": false,
"notNull": false
},
"bitbucketRepository": {
"name": "bitbucketRepository",
"type": "text",
@@ -458,6 +502,12 @@
"primaryKey": false,
"notNull": false
},
"giteaId": {
"name": "giteaId",
"type": "text",
"primaryKey": false,
"notNull": false
},
"bitbucketId": {
"name": "bitbucketId",
"type": "text",
@@ -538,6 +588,19 @@
"onDelete": "set null",
"onUpdate": "no action"
},
"application_giteaId_gitea_giteaId_fk": {
"name": "application_giteaId_gitea_giteaId_fk",
"tableFrom": "application",
"tableTo": "gitea",
"columnsFrom": [
"giteaId"
],
"columnsTo": [
"giteaId"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"application_bitbucketId_bitbucket_bitbucketId_fk": {
"name": "application_bitbucketId_bitbucket_bitbucketId_fk",
"tableFrom": "application",
@@ -2914,6 +2977,24 @@
"primaryKey": false,
"notNull": false
},
"giteaRepository": {
"name": "giteaRepository",
"type": "text",
"primaryKey": false,
"notNull": false
},
"giteaOwner": {
"name": "giteaOwner",
"type": "text",
"primaryKey": false,
"notNull": false
},
"giteaBranch": {
"name": "giteaBranch",
"type": "text",
"primaryKey": false,
"notNull": false
},
"customGitUrl": {
"name": "customGitUrl",
"type": "text",
@@ -3011,6 +3092,12 @@
"primaryKey": false,
"notNull": false
},
"giteaId": {
"name": "giteaId",
"type": "text",
"primaryKey": false,
"notNull": false
},
"serverId": {
"name": "serverId",
"type": "text",
@@ -3085,6 +3172,19 @@
"onDelete": "set null",
"onUpdate": "no action"
},
"compose_giteaId_gitea_giteaId_fk": {
"name": "compose_giteaId_gitea_giteaId_fk",
"tableFrom": "compose",
"tableTo": "gitea",
"columnsFrom": [
"giteaId"
],
"columnsTo": [
"giteaId"
],
"onDelete": "set null",
"onUpdate": "no action"
},
"compose_serverId_server_serverId_fk": {
"name": "compose_serverId_server_serverId_fk",
"tableFrom": "compose",
@@ -3943,6 +4043,107 @@
"checkConstraints": {},
"isRLSEnabled": false
},
"public.gitea": {
"name": "gitea",
"schema": "",
"columns": {
"giteaId": {
"name": "giteaId",
"type": "text",
"primaryKey": true,
"notNull": true
},
"giteaUrl": {
"name": "giteaUrl",
"type": "text",
"primaryKey": false,
"notNull": true,
"default": "'https://gitea.com'"
},
"redirect_uri": {
"name": "redirect_uri",
"type": "text",
"primaryKey": false,
"notNull": false
},
"client_id": {
"name": "client_id",
"type": "text",
"primaryKey": false,
"notNull": false
},
"client_secret": {
"name": "client_secret",
"type": "text",
"primaryKey": false,
"notNull": false
},
"gitProviderId": {
"name": "gitProviderId",
"type": "text",
"primaryKey": false,
"notNull": true
},
"gitea_username": {
"name": "gitea_username",
"type": "text",
"primaryKey": false,
"notNull": false
},
"access_token": {
"name": "access_token",
"type": "text",
"primaryKey": false,
"notNull": false
},
"refresh_token": {
"name": "refresh_token",
"type": "text",
"primaryKey": false,
"notNull": false
},
"expires_at": {
"name": "expires_at",
"type": "integer",
"primaryKey": false,
"notNull": false
},
"scopes": {
"name": "scopes",
"type": "text",
"primaryKey": false,
"notNull": false,
"default": "'repo,repo:status,read:user,read:org'"
},
"last_authenticated_at": {
"name": "last_authenticated_at",
"type": "integer",
"primaryKey": false,
"notNull": false
}
},
"indexes": {},
"foreignKeys": {
"gitea_gitProviderId_git_provider_gitProviderId_fk": {
"name": "gitea_gitProviderId_git_provider_gitProviderId_fk",
"tableFrom": "gitea",
"tableTo": "git_provider",
"columnsFrom": [
"gitProviderId"
],
"columnsTo": [
"gitProviderId"
],
"onDelete": "cascade",
"onUpdate": "no action"
}
},
"compositePrimaryKeys": {},
"uniqueConstraints": {},
"policies": {},
"checkConstraints": {},
"isRLSEnabled": false
},
"public.server": {
"name": "server",
"schema": "",
@@ -5007,6 +5208,7 @@
"github",
"gitlab",
"bitbucket",
"gitea",
"drop"
]
},
@@ -5103,6 +5305,7 @@
"github",
"gitlab",
"bitbucket",
"gitea",
"raw"
]
},
@@ -5131,7 +5334,8 @@
"values": [
"github",
"gitlab",
"bitbucket"
"bitbucket",
"gitea"
]
},
"public.serverStatus": {

View File

@@ -534,10 +534,31 @@
"tag": "0075_wild_xorn",
"breakpoints": true
},
{
"idx": 76,
"version": "7",
"when": 1742237840762,
"tag": "0076_tough_iron_patriot",
"breakpoints": true
},
{
"idx": 77,
"version": "7",
"when": 1742241730000,
"tag": "0076_young_sharon_ventura",
"breakpoints": true
},
{
"idx": 78,
"version": "7",
"when": 1742112194375,
"when": 1742241730001,
"tag": "0077_chemical_dreadnoughts",
"breakpoints": true
},
{
"idx": 79,
"version": "7",
"when": 17422417300002,
"tag": "0078_uneven_omega_sentinel",
"breakpoints": true
}

View File

@@ -0,0 +1,552 @@
{
"version": "5",
"dialect": "pg",
"entries": [
{
"idx": 0,
"version": "5",
"when": 1713262741218,
"tag": "0000_reflective_puck",
"breakpoints": true
},
{
"idx": 1,
"version": "5",
"when": 1713761637676,
"tag": "0001_striped_tattoo",
"breakpoints": true
},
{
"idx": 2,
"version": "5",
"when": 1713763492341,
"tag": "0002_ambiguous_carlie_cooper",
"breakpoints": true
},
{
"idx": 3,
"version": "5",
"when": 1713947141424,
"tag": "0003_square_lightspeed",
"breakpoints": true
},
{
"idx": 4,
"version": "5",
"when": 1714004732716,
"tag": "0004_nice_tenebrous",
"breakpoints": true
},
{
"idx": 5,
"version": "5",
"when": 1715551130605,
"tag": "0005_cute_terror",
"breakpoints": true
},
{
"idx": 6,
"version": "6",
"when": 1715563165991,
"tag": "0006_oval_jimmy_woo",
"breakpoints": true
},
{
"idx": 7,
"version": "6",
"when": 1715563497100,
"tag": "0007_cute_guardsmen",
"breakpoints": true
},
{
"idx": 8,
"version": "6",
"when": 1715564143641,
"tag": "0008_lazy_sage",
"breakpoints": true
},
{
"idx": 9,
"version": "6",
"when": 1715564774423,
"tag": "0009_majestic_spencer_smythe",
"breakpoints": true
},
{
"idx": 10,
"version": "6",
"when": 1715574037832,
"tag": "0010_lean_black_widow",
"breakpoints": true
},
{
"idx": 11,
"version": "6",
"when": 1715574230599,
"tag": "0011_petite_calypso",
"breakpoints": true
},
{
"idx": 12,
"version": "6",
"when": 1716015716708,
"tag": "0012_chubby_umar",
"breakpoints": true
},
{
"idx": 13,
"version": "6",
"when": 1716076179443,
"tag": "0013_blushing_starjammers",
"breakpoints": true
},
{
"idx": 14,
"version": "6",
"when": 1716715367982,
"tag": "0014_same_hammerhead",
"breakpoints": true
},
{
"idx": 15,
"version": "6",
"when": 1717564517104,
"tag": "0015_fearless_callisto",
"breakpoints": true
},
{
"idx": 16,
"version": "6",
"when": 1719109196484,
"tag": "0016_chunky_leopardon",
"breakpoints": true
},
{
"idx": 17,
"version": "6",
"when": 1719547174326,
"tag": "0017_minor_post",
"breakpoints": true
},
{
"idx": 18,
"version": "6",
"when": 1719928377858,
"tag": "0018_careful_killmonger",
"breakpoints": true
},
{
"idx": 19,
"version": "6",
"when": 1721110706912,
"tag": "0019_heavy_freak",
"breakpoints": true
},
{
"idx": 20,
"version": "6",
"when": 1721363861686,
"tag": "0020_fantastic_slapstick",
"breakpoints": true
},
{
"idx": 21,
"version": "6",
"when": 1721370423752,
"tag": "0021_premium_sebastian_shaw",
"breakpoints": true
},
{
"idx": 22,
"version": "6",
"when": 1721531163852,
"tag": "0022_warm_colonel_america",
"breakpoints": true
},
{
"idx": 23,
"version": "6",
"when": 1721542782659,
"tag": "0023_icy_maverick",
"breakpoints": true
},
{
"idx": 24,
"version": "6",
"when": 1721603595092,
"tag": "0024_dapper_supernaut",
"breakpoints": true
},
{
"idx": 25,
"version": "6",
"when": 1721633853118,
"tag": "0025_lying_mephisto",
"breakpoints": true
},
{
"idx": 26,
"version": "6",
"when": 1721979220929,
"tag": "0026_known_dormammu",
"breakpoints": true
},
{
"idx": 27,
"version": "6",
"when": 1722445099203,
"tag": "0027_red_lady_bullseye",
"breakpoints": true
},
{
"idx": 28,
"version": "6",
"when": 1722503439951,
"tag": "0028_jittery_eternity",
"breakpoints": true
},
{
"idx": 29,
"version": "6",
"when": 1722578386823,
"tag": "0029_colossal_zodiak",
"breakpoints": true
},
{
"idx": 30,
"version": "6",
"when": 1723608499147,
"tag": "0030_little_kabuki",
"breakpoints": true
},
{
"idx": 31,
"version": "6",
"when": 1723701656243,
"tag": "0031_steep_vulture",
"breakpoints": true
},
{
"idx": 32,
"version": "6",
"when": 1723705257806,
"tag": "0032_flashy_shadow_king",
"breakpoints": true
},
{
"idx": 33,
"version": "6",
"when": 1725250322137,
"tag": "0033_white_hawkeye",
"breakpoints": true
},
{
"idx": 34,
"version": "6",
"when": 1725256397019,
"tag": "0034_aspiring_secret_warriors",
"breakpoints": true
},
{
"idx": 35,
"version": "6",
"when": 1725429324584,
"tag": "0035_cool_gravity",
"breakpoints": true
},
{
"idx": 36,
"version": "6",
"when": 1725519351871,
"tag": "0036_tired_ronan",
"breakpoints": true
},
{
"idx": 37,
"version": "6",
"when": 1726988289562,
"tag": "0037_legal_namor",
"breakpoints": true
},
{
"idx": 38,
"version": "6",
"when": 1727942090102,
"tag": "0038_rapid_landau",
"breakpoints": true
},
{
"idx": 39,
"version": "6",
"when": 1728021127765,
"tag": "0039_many_tiger_shark",
"breakpoints": true
},
{
"idx": 40,
"version": "6",
"when": 1728780577084,
"tag": "0040_graceful_wolfsbane",
"breakpoints": true
},
{
"idx": 41,
"version": "6",
"when": 1729667438853,
"tag": "0041_huge_bruce_banner",
"breakpoints": true
},
{
"idx": 42,
"version": "6",
"when": 1729984439862,
"tag": "0042_fancy_havok",
"breakpoints": true
},
{
"idx": 43,
"version": "6",
"when": 1731873965888,
"tag": "0043_closed_naoko",
"breakpoints": true
},
{
"idx": 44,
"version": "6",
"when": 1731875539532,
"tag": "0044_sour_true_believers",
"breakpoints": true
},
{
"idx": 45,
"version": "6",
"when": 1732644181718,
"tag": "0045_smiling_blur",
"breakpoints": true
},
{
"idx": 46,
"version": "6",
"when": 1732851191048,
"tag": "0046_purple_sleeper",
"breakpoints": true
},
{
"idx": 47,
"version": "6",
"when": 1733599090582,
"tag": "0047_tidy_revanche",
"breakpoints": true
},
{
"idx": 48,
"version": "6",
"when": 1733599163710,
"tag": "0048_flat_expediter",
"breakpoints": true
},
{
"idx": 49,
"version": "6",
"when": 1733628762978,
"tag": "0049_dark_leopardon",
"breakpoints": true
},
{
"idx": 50,
"version": "6",
"when": 1733889104203,
"tag": "0050_nappy_wrecker",
"breakpoints": true
},
{
"idx": 51,
"version": "6",
"when": 1734241482851,
"tag": "0051_hard_gorgon",
"breakpoints": true
},
{
"idx": 52,
"version": "6",
"when": 1734809337308,
"tag": "0052_bumpy_luckman",
"breakpoints": true
},
{
"idx": 53,
"version": "6",
"when": 1735118844878,
"tag": "0053_broken_kulan_gath",
"breakpoints": true
},
{
"idx": 54,
"version": "6",
"when": 1736669421560,
"tag": "0054_nervous_spencer_smythe",
"breakpoints": true
},
{
"idx": 55,
"version": "6",
"when": 1736669623831,
"tag": "0055_next_serpent_society",
"breakpoints": true
},
{
"idx": 56,
"version": "6",
"when": 1736789918294,
"tag": "0056_majestic_skaar",
"breakpoints": true
},
{
"idx": 57,
"version": "6",
"when": 1737306063563,
"tag": "0057_tricky_living_tribunal",
"breakpoints": true
},
{
"idx": 58,
"version": "6",
"when": 1737612903012,
"tag": "0058_brown_sharon_carter",
"breakpoints": true
},
{
"idx": 59,
"version": "6",
"when": 1737615160768,
"tag": "0059_striped_bill_hollister",
"breakpoints": true
},
{
"idx": 60,
"version": "6",
"when": 1737929896838,
"tag": "0060_disable-aggressive-cache",
"breakpoints": true
},
{
"idx": 61,
"version": "7",
"when": 1738481304953,
"tag": "0061_many_molten_man",
"breakpoints": true
},
{
"idx": 62,
"version": "7",
"when": 1738482795112,
"tag": "0062_slippery_white_tiger",
"breakpoints": true
},
{
"idx": 63,
"version": "7",
"when": 1738522845992,
"tag": "0063_panoramic_dreadnoughts",
"breakpoints": true
},
{
"idx": 64,
"version": "7",
"when": 1738564387043,
"tag": "0064_previous_agent_brand",
"breakpoints": true
},
{
"idx": 65,
"version": "7",
"when": 1739087857244,
"tag": "0065_daily_zaladane",
"breakpoints": true
},
{
"idx": 66,
"version": "7",
"when": 1739426913392,
"tag": "0066_yielding_echo",
"breakpoints": true
},
{
"idx": 67,
"version": "7",
"when": 1740892043121,
"tag": "0067_condemned_sugar_man",
"breakpoints": true
},
{
"idx": 68,
"version": "7",
"when": 1740897756774,
"tag": "0068_complex_rhino",
"breakpoints": true
},
{
"idx": 69,
"version": "7",
"when": 1741152916611,
"tag": "0069_legal_bill_hollister",
"breakpoints": true
},
{
"idx": 70,
"version": "7",
"when": 1741322697251,
"tag": "0070_useful_serpent_society",
"breakpoints": true
},
{
"idx": 71,
"version": "7",
"when": 1741559743256,
"tag": "0071_flimsy_plazm",
"breakpoints": true
},
{
"idx": 72,
"version": "7",
"when": 1741593124105,
"tag": "0072_low_redwing",
"breakpoints": true
},
{
"idx": 73,
"version": "7",
"when": 1741645208694,
"tag": "0073_dark_tigra",
"breakpoints": true
},
{
"idx": 74,
"version": "7",
"when": 1741673569715,
"tag": "0074_military_miss_america",
"breakpoints": true
},
{
"idx": 75,
"version": "7",
"when": 1742018928109,
"tag": "0075_wild_xorn",
"breakpoints": true
},
{
"idx": 76,
"version": "7",
"when": 1742237840762,
"tag": "0076_tough_iron_patriot",
"breakpoints": true
},
{
"idx": 77,
"version": "7",
"when": 1742238314349,
"tag": "0077_mature_tomorrow_man",
"breakpoints": true
}
]
}