From b8dda7d98bc2d70be12c74e05b194e6c10f1ab34 Mon Sep 17 00:00:00 2001 From: Safwan Shaheer Date: Tue, 24 Jun 2025 07:19:48 -0600 Subject: [PATCH 01/12] Scout partner model --- .../20250624131937_scout_partner/migration.sql | 18 ++++++++++++++++++ src/prisma/schema.prisma | 13 +++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 src/prisma/migrations/20250624131937_scout_partner/migration.sql diff --git a/src/prisma/migrations/20250624131937_scout_partner/migration.sql b/src/prisma/migrations/20250624131937_scout_partner/migration.sql new file mode 100644 index 00000000..02a8dc2a --- /dev/null +++ b/src/prisma/migrations/20250624131937_scout_partner/migration.sql @@ -0,0 +1,18 @@ +-- AlterTable +ALTER TABLE "BuilderEvent" ADD COLUMN "scoutPartnerId" TEXT; + +-- CreateTable +CREATE TABLE "ScoutPartner" ( + "id" TEXT NOT NULL, + "icon" TEXT NOT NULL, + "bannerImage" TEXT NOT NULL, + "name" TEXT NOT NULL, + "tokenAmountPerPullRequest" INTEGER, + "tokenAddress" TEXT, + "tokenChain" INTEGER, + + CONSTRAINT "ScoutPartner_pkey" PRIMARY KEY ("id") +); + +-- AddForeignKey +ALTER TABLE "BuilderEvent" ADD CONSTRAINT "BuilderEvent_scoutPartnerId_fkey" FOREIGN KEY ("scoutPartnerId") REFERENCES "ScoutPartner"("id") ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/src/prisma/schema.prisma b/src/prisma/schema.prisma index f67b9237..db83acb4 100644 --- a/src/prisma/schema.prisma +++ b/src/prisma/schema.prisma @@ -3116,6 +3116,8 @@ model BuilderEvent { createdAt DateTime @default(now()) description String? // for misc_event type bonusPartner String? + scoutPartnerId String? + scoutPartner ScoutPartner? @relation(fields: [scoutPartnerId], references: [id], onDelete: SetNull) githubEventId String? @unique @db.Uuid githubEvent GithubEvent? @relation(fields: [githubEventId], references: [id], onDelete: SetNull) gemsPayoutEventId String? @unique @db.Uuid @@ -4183,3 +4185,14 @@ model GithubIssue { @@index([repoId]) @@index([githubEventId]) } + +model ScoutPartner { + id String @id + icon String + bannerImage String + name String + tokenAmountPerPullRequest Int? + tokenAddress String? + tokenChain Int? + builderEvents BuilderEvent[] +} From 37ecad774c6500809d3fb6c6a03291c8a5b52b6d Mon Sep 17 00:00:00 2001 From: Automated Version Bump Date: Tue, 24 Jun 2025 13:22:20 +0000 Subject: [PATCH 02/12] ci: version bump to 0.126.2-rc-feat-partner-re.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f917eec4..839effec 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@charmverse/core", - "version": "0.126.1", + "version": "0.126.2-rc-feat-partner-re.0", "description": "Core API for Charmverse", "type": "commonjs", "types": "./dist/cjs/index.d.ts", From ff140b23386478b2b90313ecd4d0ad30b07c3a01 Mon Sep 17 00:00:00 2001 From: Safwan Shaheer Date: Tue, 24 Jun 2025 07:23:43 -0600 Subject: [PATCH 03/12] scout partner status --- .../migration.sql | 4 ++++ src/prisma/schema.prisma | 9 ++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) rename src/prisma/migrations/{20250624131937_scout_partner => 20250624132332_scout_partner}/migration.sql (79%) diff --git a/src/prisma/migrations/20250624131937_scout_partner/migration.sql b/src/prisma/migrations/20250624132332_scout_partner/migration.sql similarity index 79% rename from src/prisma/migrations/20250624131937_scout_partner/migration.sql rename to src/prisma/migrations/20250624132332_scout_partner/migration.sql index 02a8dc2a..8a99ad5d 100644 --- a/src/prisma/migrations/20250624131937_scout_partner/migration.sql +++ b/src/prisma/migrations/20250624132332_scout_partner/migration.sql @@ -1,3 +1,6 @@ +-- CreateEnum +CREATE TYPE "ScoutPartnerStatus" AS ENUM ('active', 'paused', 'completed'); + -- AlterTable ALTER TABLE "BuilderEvent" ADD COLUMN "scoutPartnerId" TEXT; @@ -7,6 +10,7 @@ CREATE TABLE "ScoutPartner" ( "icon" TEXT NOT NULL, "bannerImage" TEXT NOT NULL, "name" TEXT NOT NULL, + "status" "ScoutPartnerStatus" NOT NULL DEFAULT 'active', "tokenAmountPerPullRequest" INTEGER, "tokenAddress" TEXT, "tokenChain" INTEGER, diff --git a/src/prisma/schema.prisma b/src/prisma/schema.prisma index db83acb4..1196ff60 100644 --- a/src/prisma/schema.prisma +++ b/src/prisma/schema.prisma @@ -4186,11 +4186,18 @@ model GithubIssue { @@index([githubEventId]) } +enum ScoutPartnerStatus { + active + paused + completed +} + model ScoutPartner { - id String @id + id String @id icon String bannerImage String name String + status ScoutPartnerStatus @default(active) tokenAmountPerPullRequest Int? tokenAddress String? tokenChain Int? From de54820a1f13be2ff9e80310095affa1cc0fb37f Mon Sep 17 00:00:00 2001 From: Automated Version Bump Date: Tue, 24 Jun 2025 13:25:52 +0000 Subject: [PATCH 04/12] ci: version bump to 0.126.2-rc-feat-partner-re.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 839effec..00a6ecf2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@charmverse/core", - "version": "0.126.2-rc-feat-partner-re.0", + "version": "0.126.2-rc-feat-partner-re.1", "description": "Core API for Charmverse", "type": "commonjs", "types": "./dist/cjs/index.d.ts", From bf3e7f13150c42dd48e3dd82e6d324a64e72b314 Mon Sep 17 00:00:00 2001 From: Safwan Shaheer Date: Tue, 24 Jun 2025 08:11:06 -0600 Subject: [PATCH 05/12] Added scout partner id to github repo --- .../migration.sql | 6 ++++ src/prisma/schema.prisma | 29 ++++++++++--------- 2 files changed, 22 insertions(+), 13 deletions(-) rename src/prisma/migrations/{20250624132332_scout_partner => 20250624141049_scout_partner}/migration.sql (73%) diff --git a/src/prisma/migrations/20250624132332_scout_partner/migration.sql b/src/prisma/migrations/20250624141049_scout_partner/migration.sql similarity index 73% rename from src/prisma/migrations/20250624132332_scout_partner/migration.sql rename to src/prisma/migrations/20250624141049_scout_partner/migration.sql index 8a99ad5d..3ba489c6 100644 --- a/src/prisma/migrations/20250624132332_scout_partner/migration.sql +++ b/src/prisma/migrations/20250624141049_scout_partner/migration.sql @@ -4,6 +4,9 @@ CREATE TYPE "ScoutPartnerStatus" AS ENUM ('active', 'paused', 'completed'); -- AlterTable ALTER TABLE "BuilderEvent" ADD COLUMN "scoutPartnerId" TEXT; +-- AlterTable +ALTER TABLE "GithubRepo" ADD COLUMN "scoutPartnerId" TEXT; + -- CreateTable CREATE TABLE "ScoutPartner" ( "id" TEXT NOT NULL, @@ -20,3 +23,6 @@ CREATE TABLE "ScoutPartner" ( -- AddForeignKey ALTER TABLE "BuilderEvent" ADD CONSTRAINT "BuilderEvent_scoutPartnerId_fkey" FOREIGN KEY ("scoutPartnerId") REFERENCES "ScoutPartner"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "GithubRepo" ADD CONSTRAINT "GithubRepo_scoutPartnerId_fkey" FOREIGN KEY ("scoutPartnerId") REFERENCES "ScoutPartner"("id") ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/src/prisma/schema.prisma b/src/prisma/schema.prisma index 1196ff60..b2d96ad8 100644 --- a/src/prisma/schema.prisma +++ b/src/prisma/schema.prisma @@ -3172,19 +3172,21 @@ enum GithubRepoOwnerType { } model GithubRepo { - id Int @id - owner String - ownerType GithubRepoOwnerType - handPicked Boolean @default(false) - fork Boolean @default(false) - name String - avatar String? - defaultBranch String - events GithubEvent[] - createdAt DateTime @default(now()) - deletedAt DateTime? - bonusPartner String? - issues GithubIssue[] + id Int @id + owner String + ownerType GithubRepoOwnerType + handPicked Boolean @default(false) + fork Boolean @default(false) + name String + avatar String? + defaultBranch String + events GithubEvent[] + createdAt DateTime @default(now()) + deletedAt DateTime? + bonusPartner String? + scoutPartnerId String? + scoutPartner ScoutPartner? @relation(fields: [scoutPartnerId], references: [id], onDelete: SetNull) + issues GithubIssue[] @@unique([owner, name]) @@index([id]) @@ -4202,4 +4204,5 @@ model ScoutPartner { tokenAddress String? tokenChain Int? builderEvents BuilderEvent[] + repos GithubRepo[] } From e2563f0511761cb137b1a58d2fb40f211daf805e Mon Sep 17 00:00:00 2001 From: Automated Version Bump Date: Tue, 24 Jun 2025 14:12:54 +0000 Subject: [PATCH 06/12] ci: version bump to 0.126.2-rc-feat-partner-re.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 00a6ecf2..45561419 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@charmverse/core", - "version": "0.126.2-rc-feat-partner-re.1", + "version": "0.126.2-rc-feat-partner-re.2", "description": "Core API for Charmverse", "type": "commonjs", "types": "./dist/cjs/index.d.ts", From cb8cfeefd1fad27de7089933454dabdc70008285 Mon Sep 17 00:00:00 2001 From: Safwan Shaheer Date: Tue, 24 Jun 2025 08:13:21 -0600 Subject: [PATCH 07/12] added payout contracts and reward events to scout partners --- .../migration.sql | 12 ++++++++++ src/prisma/schema.prisma | 24 ++++++++++++------- 2 files changed, 27 insertions(+), 9 deletions(-) rename src/prisma/migrations/{20250624141049_scout_partner => 20250624141308_scout_partner}/migration.sql (61%) diff --git a/src/prisma/migrations/20250624141049_scout_partner/migration.sql b/src/prisma/migrations/20250624141308_scout_partner/migration.sql similarity index 61% rename from src/prisma/migrations/20250624141049_scout_partner/migration.sql rename to src/prisma/migrations/20250624141308_scout_partner/migration.sql index 3ba489c6..dbd2a03d 100644 --- a/src/prisma/migrations/20250624141049_scout_partner/migration.sql +++ b/src/prisma/migrations/20250624141308_scout_partner/migration.sql @@ -7,6 +7,12 @@ ALTER TABLE "BuilderEvent" ADD COLUMN "scoutPartnerId" TEXT; -- AlterTable ALTER TABLE "GithubRepo" ADD COLUMN "scoutPartnerId" TEXT; +-- AlterTable +ALTER TABLE "PartnerRewardEvent" ADD COLUMN "scoutPartnerId" TEXT; + +-- AlterTable +ALTER TABLE "PartnerRewardPayoutContract" ADD COLUMN "scoutPartnerId" TEXT; + -- CreateTable CREATE TABLE "ScoutPartner" ( "id" TEXT NOT NULL, @@ -26,3 +32,9 @@ ALTER TABLE "BuilderEvent" ADD CONSTRAINT "BuilderEvent_scoutPartnerId_fkey" FOR -- AddForeignKey ALTER TABLE "GithubRepo" ADD CONSTRAINT "GithubRepo_scoutPartnerId_fkey" FOREIGN KEY ("scoutPartnerId") REFERENCES "ScoutPartner"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "PartnerRewardEvent" ADD CONSTRAINT "PartnerRewardEvent_scoutPartnerId_fkey" FOREIGN KEY ("scoutPartnerId") REFERENCES "ScoutPartner"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "PartnerRewardPayoutContract" ADD CONSTRAINT "PartnerRewardPayoutContract_scoutPartnerId_fkey" FOREIGN KEY ("scoutPartnerId") REFERENCES "ScoutPartner"("id") ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/src/prisma/schema.prisma b/src/prisma/schema.prisma index b2d96ad8..63613784 100644 --- a/src/prisma/schema.prisma +++ b/src/prisma/schema.prisma @@ -3636,13 +3636,15 @@ model TalentProfile { } model PartnerRewardEvent { - createdAt DateTime @default(now()) - week String - season String - userId String @db.Uuid - user Scout @relation(fields: [userId], references: [id], onDelete: Cascade) - partner String - reward Json + createdAt DateTime @default(now()) + week String + season String + userId String @db.Uuid + user Scout @relation(fields: [userId], references: [id], onDelete: Cascade) + partner String + reward Json + scoutPartnerId String? + scoutPartner ScoutPartner? @relation(fields: [scoutPartnerId], references: [id], onDelete: SetNull) @@unique([userId, partner, week, season]) @@index([userId]) @@ -3878,6 +3880,8 @@ model PartnerRewardPayoutContract { tokenDecimals Int tokenSymbol String partner String + scoutPartnerId String? + scoutPartner ScoutPartner? @relation(fields: [scoutPartnerId], references: [id], onDelete: SetNull) deployTxHash String ipfsCid String merkleTreeJson Json @@ -4195,14 +4199,16 @@ enum ScoutPartnerStatus { } model ScoutPartner { - id String @id + id String @id icon String bannerImage String name String - status ScoutPartnerStatus @default(active) + status ScoutPartnerStatus @default(active) tokenAmountPerPullRequest Int? tokenAddress String? tokenChain Int? builderEvents BuilderEvent[] repos GithubRepo[] + payoutContracts PartnerRewardPayoutContract[] + rewardEvents PartnerRewardEvent[] } From c938fabdb97f7e770e518d040f16e72572350918 Mon Sep 17 00:00:00 2001 From: Automated Version Bump Date: Tue, 24 Jun 2025 14:15:12 +0000 Subject: [PATCH 08/12] ci: version bump to 0.126.2-rc-feat-partner-re.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 45561419..2bb76ece 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@charmverse/core", - "version": "0.126.2-rc-feat-partner-re.2", + "version": "0.126.2-rc-feat-partner-re.3", "description": "Core API for Charmverse", "type": "commonjs", "types": "./dist/cjs/index.d.ts", From 1d5b2bbfeabee79b4d7f9598ee9d2390533e092b Mon Sep 17 00:00:00 2001 From: Safwan Shaheer Date: Wed, 25 Jun 2025 07:49:17 -0600 Subject: [PATCH 09/12] issue tag token amounts field --- .../migration.sql | 5 +++++ src/prisma/schema.prisma | 5 +++++ 2 files changed, 10 insertions(+) rename src/prisma/migrations/{20250624141308_scout_partner => 20250625134900_scout_partner}/migration.sql (91%) diff --git a/src/prisma/migrations/20250624141308_scout_partner/migration.sql b/src/prisma/migrations/20250625134900_scout_partner/migration.sql similarity index 91% rename from src/prisma/migrations/20250624141308_scout_partner/migration.sql rename to src/prisma/migrations/20250625134900_scout_partner/migration.sql index dbd2a03d..125823f6 100644 --- a/src/prisma/migrations/20250624141308_scout_partner/migration.sql +++ b/src/prisma/migrations/20250625134900_scout_partner/migration.sql @@ -18,11 +18,16 @@ CREATE TABLE "ScoutPartner" ( "id" TEXT NOT NULL, "icon" TEXT NOT NULL, "bannerImage" TEXT NOT NULL, + "infoPageImage" TEXT NOT NULL, "name" TEXT NOT NULL, "status" "ScoutPartnerStatus" NOT NULL DEFAULT 'active', "tokenAmountPerPullRequest" INTEGER, "tokenAddress" TEXT, "tokenChain" INTEGER, + "tokenSymbol" TEXT, + "tokenDecimals" INTEGER, + "tokenImage" TEXT, + "issueTagTokenAmounts" JSONB DEFAULT '{}', CONSTRAINT "ScoutPartner_pkey" PRIMARY KEY ("id") ); diff --git a/src/prisma/schema.prisma b/src/prisma/schema.prisma index 63613784..a5ceafb7 100644 --- a/src/prisma/schema.prisma +++ b/src/prisma/schema.prisma @@ -4202,11 +4202,16 @@ model ScoutPartner { id String @id icon String bannerImage String + infoPageImage String name String status ScoutPartnerStatus @default(active) tokenAmountPerPullRequest Int? tokenAddress String? tokenChain Int? + tokenSymbol String? + tokenDecimals Int? + tokenImage String? + issueTagTokenAmounts Json? @default("{}") // Stores mapping of issue tags to token amounts builderEvents BuilderEvent[] repos GithubRepo[] payoutContracts PartnerRewardPayoutContract[] From f911bbe9d0a72feff589e9da31ed0b779f98af25 Mon Sep 17 00:00:00 2001 From: Automated Version Bump Date: Wed, 25 Jun 2025 13:51:13 +0000 Subject: [PATCH 10/12] ci: version bump to 0.126.2-rc-feat-partner-re.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2bb76ece..2c01eee1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@charmverse/core", - "version": "0.126.2-rc-feat-partner-re.3", + "version": "0.126.2-rc-feat-partner-re.4", "description": "Core API for Charmverse", "type": "commonjs", "types": "./dist/cjs/index.d.ts", From 1e2f5e50c9e7d61186335ab3a93dcecce3652dd8 Mon Sep 17 00:00:00 2001 From: Safwan Shaheer Date: Wed, 25 Jun 2025 11:03:11 -0600 Subject: [PATCH 11/12] scout partner indices --- .../migration.sql | 12 ++++++++++++ src/prisma/schema.prisma | 5 +++++ 2 files changed, 17 insertions(+) rename src/prisma/migrations/{20250625134900_scout_partner => 20250625170301_scout_partner}/migration.sql (80%) diff --git a/src/prisma/migrations/20250625134900_scout_partner/migration.sql b/src/prisma/migrations/20250625170301_scout_partner/migration.sql similarity index 80% rename from src/prisma/migrations/20250625134900_scout_partner/migration.sql rename to src/prisma/migrations/20250625170301_scout_partner/migration.sql index 125823f6..8d39fbcc 100644 --- a/src/prisma/migrations/20250625134900_scout_partner/migration.sql +++ b/src/prisma/migrations/20250625170301_scout_partner/migration.sql @@ -32,6 +32,18 @@ CREATE TABLE "ScoutPartner" ( CONSTRAINT "ScoutPartner_pkey" PRIMARY KEY ("id") ); +-- CreateIndex +CREATE INDEX "BuilderEvent_scoutPartnerId_idx" ON "BuilderEvent"("scoutPartnerId"); + +-- CreateIndex +CREATE INDEX "GithubRepo_scoutPartnerId_idx" ON "GithubRepo"("scoutPartnerId"); + +-- CreateIndex +CREATE INDEX "PartnerRewardEvent_scoutPartnerId_idx" ON "PartnerRewardEvent"("scoutPartnerId"); + +-- CreateIndex +CREATE INDEX "PartnerRewardPayoutContract_scoutPartnerId_idx" ON "PartnerRewardPayoutContract"("scoutPartnerId"); + -- AddForeignKey ALTER TABLE "BuilderEvent" ADD CONSTRAINT "BuilderEvent_scoutPartnerId_fkey" FOREIGN KEY ("scoutPartnerId") REFERENCES "ScoutPartner"("id") ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/src/prisma/schema.prisma b/src/prisma/schema.prisma index a5ceafb7..00930fc1 100644 --- a/src/prisma/schema.prisma +++ b/src/prisma/schema.prisma @@ -3151,6 +3151,7 @@ model BuilderEvent { @@index([weeklyClaimId]) @@index([week, season]) @@index([createdAt]) + @@index([scoutPartnerId]) } model GithubUser { @@ -3191,6 +3192,7 @@ model GithubRepo { @@unique([owner, name]) @@index([id]) @@index([bonusPartner]) + @@index([scoutPartnerId]) } enum GithubEventType { @@ -3648,6 +3650,7 @@ model PartnerRewardEvent { @@unique([userId, partner, week, season]) @@index([userId]) + @@index([scoutPartnerId]) } enum MessageSender { @@ -3888,6 +3891,8 @@ model PartnerRewardPayoutContract { provider PartnerRewardPayoutContractProvider blockNumber BigInt @default(0) rewardPayouts PartnerRewardPayout[] + + @@index([scoutPartnerId]) } // the raw data, not intended to be used in production processes From 6894a68dc85b9b3acfefc50c81e8c0b2a8dcb9c1 Mon Sep 17 00:00:00 2001 From: Automated Version Bump Date: Wed, 25 Jun 2025 17:04:59 +0000 Subject: [PATCH 12/12] ci: version bump to 0.126.2-rc-feat-partner-re.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2c01eee1..99c8acbf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@charmverse/core", - "version": "0.126.2-rc-feat-partner-re.4", + "version": "0.126.2-rc-feat-partner-re.5", "description": "Core API for Charmverse", "type": "commonjs", "types": "./dist/cjs/index.d.ts",