diff --git a/README.md b/README.md index 374ad7f..0eaac3c 100644 --- a/README.md +++ b/README.md @@ -9,9 +9,9 @@

- Web Build Status - Windows Build Status - MacOS Build Status + Web Build Status + Windows Build Status + MacOS Build Status

# Features diff --git a/prisma/migrations/20260409214508_init/migration.sql b/prisma/migrations/20260422105711_init/migration.sql similarity index 84% rename from prisma/migrations/20260409214508_init/migration.sql rename to prisma/migrations/20260422105711_init/migration.sql index a4cf02d..061247a 100644 --- a/prisma/migrations/20260409214508_init/migration.sql +++ b/prisma/migrations/20260422105711_init/migration.sql @@ -1,6 +1,9 @@ -- CreateEnum CREATE TYPE "ProjectRole" AS ENUM ('OWNER', 'ADMIN', 'EDITOR', 'VIEWER'); +-- CreateEnum +CREATE TYPE "SubscriptionProvider" AS ENUM ('STRIPE', 'APPLE'); + -- CreateTable CREATE TABLE "User" ( "id" TEXT NOT NULL, @@ -10,8 +13,8 @@ CREATE TABLE "User" ( "username" TEXT, "color" TEXT, "isProUntil" TIMESTAMP(3), - "stripeSubscriptionId" TEXT, "isSubscriptionCancelled" BOOLEAN NOT NULL DEFAULT false, + "subscriptionProvider" "SubscriptionProvider", "settings" JSONB, CONSTRAINT "User_pkey" PRIMARY KEY ("id") @@ -65,6 +68,17 @@ CREATE TABLE "MagicLinkToken" ( CONSTRAINT "MagicLinkToken_pkey" PRIMARY KEY ("id") ); +-- CreateTable +CREATE TABLE "Transaction" ( + "id" SERIAL NOT NULL, + "userId" TEXT NOT NULL, + "provider" "SubscriptionProvider" NOT NULL, + "transactionId" TEXT NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "Transaction_pkey" PRIMARY KEY ("id") +); + -- CreateTable CREATE TABLE "Project" ( "id" TEXT NOT NULL, @@ -120,6 +134,12 @@ CREATE UNIQUE INDEX "MagicLinkToken_tokenHash_key" ON "MagicLinkToken"("tokenHas -- CreateIndex CREATE INDEX "MagicLinkToken_email_createdAt_idx" ON "MagicLinkToken"("email", "createdAt"); +-- CreateIndex +CREATE INDEX "Transaction_userId_idx" ON "Transaction"("userId"); + +-- CreateIndex +CREATE INDEX "Transaction_transactionId_idx" ON "Transaction"("transactionId"); + -- CreateIndex CREATE UNIQUE INDEX "ProjectMember_userId_projectId_key" ON "ProjectMember"("userId", "projectId"); @@ -135,6 +155,9 @@ ALTER TABLE "Account" ADD CONSTRAINT "Account_userId_fkey" FOREIGN KEY ("userId" -- AddForeignKey ALTER TABLE "Session" ADD CONSTRAINT "Session_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; +-- AddForeignKey +ALTER TABLE "Transaction" ADD CONSTRAINT "Transaction_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; + -- AddForeignKey ALTER TABLE "ProjectMember" ADD CONSTRAINT "ProjectMember_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/src/vendor.d.ts b/src/vendor.d.ts index e83e063..1cc9857 100644 --- a/src/vendor.d.ts +++ b/src/vendor.d.ts @@ -3,6 +3,12 @@ // top-level import/export so TypeScript treats it as a script file and these declarations // act as true ambient overrides rather than module augmentations. +declare module "*.svg" { + import type { FC, SVGProps } from "react"; + const ReactComponent: FC>; + export default ReactComponent; +} + declare module "@formkit/auto-animate" { interface Coordinates { top: number; left: number; width: number; height: number } export interface AnimationController

{