chore: commit prototype

This commit is contained in:
DecDuck
2025-06-09 13:52:42 +10:00
parent 60abc03091
commit b487ed4346
25 changed files with 506 additions and 203 deletions

View File

@ -0,0 +1,32 @@
/*
Warnings:
- Added the required column `mCoverObjectId` to the `Company` table without a default value. This is not possible if the table is not empty.
*/
-- CreateEnum
CREATE TYPE "StoreComponentType" AS ENUM ('BigCarousel', 'SmallCarousel');
-- AlterTable
ALTER TABLE "Company" ADD COLUMN "mCoverObjectId" TEXT NOT NULL;
-- CreateTable
CREATE TABLE "StorePage" (
"url" TEXT NOT NULL,
"acls" TEXT[] DEFAULT ARRAY[]::TEXT[],
CONSTRAINT "StorePage_pkey" PRIMARY KEY ("url")
);
-- CreateTable
CREATE TABLE "StoreComponent" (
"id" TEXT NOT NULL,
"type" "StoreComponentType" NOT NULL,
"configuration" JSONB NOT NULL,
"pageUrl" TEXT,
CONSTRAINT "StoreComponent_pkey" PRIMARY KEY ("id")
);
-- AddForeignKey
ALTER TABLE "StoreComponent" ADD CONSTRAINT "StoreComponent_pageUrl_fkey" FOREIGN KEY ("pageUrl") REFERENCES "StorePage"("url") ON DELETE SET NULL ON UPDATE CASCADE;

View File

@ -157,6 +157,7 @@ model Company {
mShortDescription String
mDescription String
mLogoObjectId String
mCoverObjectId String
mBannerObjectId String
mWebsite String

View File

@ -0,0 +1,21 @@
model StorePage {
url String @id
components StoreComponent[]
acls String[] @default([]) // Empty ACL means just "store:read"
}
enum StoreComponentType {
BigCarousel
SmallCarousel
}
model StoreComponent {
id String @id
type StoreComponentType
configuration Json
pageUrl String?
page StorePage? @relation(fields: [pageUrl], references: [url])
}