diff --git a/backend/api/approvals.ts b/backend/api/approvals.ts index 088e748b2..8000442d0 100644 --- a/backend/api/approvals.ts +++ b/backend/api/approvals.ts @@ -24,6 +24,17 @@ async function loadSuggestablePage(req: FastifyRequest, siteId: string, pageId: }) } +/** + * Who is reviewing, as the rules see them: the groups on their session, plus whether they hold + * `manage:system` — which sees every queue, here as everywhere else. + */ +function reviewerFor(req: FastifyRequest): { groupIds: string[]; isAdmin: boolean } { + return { + groupIds: WIKI.models.approvals.getActorGroupIds(req), + isAdmin: Boolean(req.session?.permissions?.includes('manage:system')) + } +} + /** * Everything a rule has to satisfy beyond what the JSON Schema already enforces. * @@ -340,6 +351,203 @@ async function routes(app: FastifyInstance) { } ) + /** + * LIST SUGGESTIONS WAITING ON THIS REVIEWER + */ + app.get<{ Params: { siteId: string } }>( + '/sites/:siteId/approvals/submissions', + { + schema: { + summary: 'List the edit suggestions waiting for the caller to review', + description: + 'Scoped by the approval rules: a suggestion appears here when an enabled rule covers its page and names a group the caller is in. Oldest first, which is the order a queue is worked through. `manage:system` sees the whole site’s queue.', + tags: ['Approvals'], + params: { + type: 'object', + properties: { + siteId: { type: 'string', format: 'uuid' } + }, + required: ['siteId'] + }, + response: { + 200: { + description: 'Suggestions awaiting review', + type: 'array', + items: { $ref: 'PageEditSubmission#' } + } + } + } + }, + async (req, reply) => { + reply.preventCache() + return WIKI.models.approvals.getReviewableSubmissions(req.params.siteId, reviewerFor(req)) + } + ) + + /** + * GET ONE SUGGESTION TO REVIEW + */ + app.get<{ Params: { siteId: string; submissionId: string } }>( + '/sites/:siteId/approvals/submissions/:submissionId', + { + schema: { + summary: 'Get an edit suggestion, with both sides of the diff', + description: + 'The suggested source and the page as it currently stands, which is what the review screen compares. Answers 404 for a suggestion that is not the caller’s to review, so that an ID cannot be probed for.', + tags: ['Approvals'], + params: { + type: 'object', + properties: { + siteId: { type: 'string', format: 'uuid' }, + submissionId: { type: 'string', format: 'uuid' } + }, + required: ['siteId', 'submissionId'] + }, + response: { + 200: { $ref: 'PageEditSubmissionDetail#' } + } + } + }, + async (req, reply) => { + reply.preventCache() + const submission = await WIKI.models.approvals.getSubmissionForReview( + req.params.siteId, + req.params.submissionId, + reviewerFor(req) + ) + if (!submission) { + return reply.notFound('This edit suggestion does not exist.') + } + return submission + } + ) + + /** + * APPROVE A SUGGESTION + */ + app.post<{ + Params: { siteId: string; submissionId: string } + Body: { content?: string; render?: string } + }>( + '/sites/:siteId/approvals/submissions/:submissionId/approve', + { + schema: { + summary: 'Approve an edit suggestion and write it to the page', + description: + 'Applies `content` when given — the reviewer may have adjusted the suggestion before accepting it — and what was submitted otherwise. Send `render` alongside it, as the editor does on any other save: the markdown pipeline lives in the client. Without it the server renders the page itself, which needs the Puppeteer extension. The page is re-indexed as it would be for any other edit, with the reviewer recorded as the author, and the suggestion is closed out.', + tags: ['Approvals'], + params: { + type: 'object', + properties: { + siteId: { type: 'string', format: 'uuid' }, + submissionId: { type: 'string', format: 'uuid' } + }, + required: ['siteId', 'submissionId'] + }, + body: { + type: 'object', + properties: { + content: { + type: 'string', + description: 'What to write to the page. Defaults to the suggestion as submitted.' + }, + render: { + type: 'string', + description: + 'The HTML for that content. Omitting it makes the server render the page, which needs the Puppeteer extension.' + } + } + }, + response: { + 200: { + description: 'Suggestion approved', + type: 'object', + properties: { + ok: { type: 'boolean' }, + message: { type: 'string' } + } + } + } + } + }, + async (req, reply) => { + const actor = actorFrom(req) + if (!actor) { + return reply.unauthorized() + } + const submission = await WIKI.models.approvals.getSubmissionForReview( + req.params.siteId, + req.params.submissionId, + reviewerFor(req) + ) + if (!submission) { + return reply.notFound('This edit suggestion does not exist.') + } + + const applied = await WIKI.models.approvals.approveSubmission({ + siteId: req.params.siteId, + submissionId: req.params.submissionId, + content: req.body.content ?? submission.content, + render: req.body.render, + actor + }) + if (!applied) { + return reply.notFound('This edit suggestion does not exist.') + } + return { + ok: true, + message: 'Edit suggestion approved.' + } + } + ) + + /** + * REJECT A SUGGESTION + */ + app.post<{ Params: { siteId: string; submissionId: string } }>( + '/sites/:siteId/approvals/submissions/:submissionId/reject', + { + schema: { + summary: 'Decline an edit suggestion', + description: 'Discards the suggestion. The page is left exactly as it is.', + tags: ['Approvals'], + params: { + type: 'object', + properties: { + siteId: { type: 'string', format: 'uuid' }, + submissionId: { type: 'string', format: 'uuid' } + }, + required: ['siteId', 'submissionId'] + }, + response: { + 200: { + description: 'Suggestion declined', + type: 'object', + properties: { + ok: { type: 'boolean' }, + message: { type: 'string' } + } + } + } + } + }, + async (req, reply) => { + const submission = await WIKI.models.approvals.getSubmissionForReview( + req.params.siteId, + req.params.submissionId, + reviewerFor(req) + ) + if (!submission) { + return reply.notFound('This edit suggestion does not exist.') + } + await WIKI.models.approvals.rejectSubmission(req.params.siteId, req.params.submissionId) + return { + ok: true, + message: 'Edit suggestion declined.' + } + } + ) + /** * GET OWN SUGGESTION STATE FOR A PAGE * diff --git a/backend/api/schemas/approval.ts b/backend/api/schemas/approval.ts index e6b78553b..7846bb10f 100644 --- a/backend/api/schemas/approval.ts +++ b/backend/api/schemas/approval.ts @@ -62,6 +62,83 @@ export async function registerSchemas(app: FastifyInstance): Promise { } }) + /** + * PAGE EDIT SUBMISSION - An edit somebody suggested, as its reviewer sees it + */ + app.addSchema({ + $id: 'PageEditSubmission', + type: 'object', + properties: { + id: { + type: 'string', + format: 'uuid' + }, + createdAt: { + type: 'string', + format: 'date-time', + description: 'RFC 3339 Date Time' + }, + updatedAt: { + type: 'string', + format: 'date-time', + description: 'RFC 3339 Date Time' + }, + isStale: { + type: 'boolean', + description: + 'The page has changed since this was written against it, so accepting it wholesale would undo whatever changed in between.' + }, + page: { + type: 'object', + properties: { + id: { type: 'string', format: 'uuid' }, + path: { type: 'string' }, + title: { type: 'string' }, + locale: { type: 'string' } + } + }, + author: { + type: 'object', + properties: { + id: { + type: ['string', 'null'], + description: 'Null for a guest, who has no account.' + }, + name: { type: 'string' }, + email: { type: 'string' }, + isGuest: { type: 'boolean' } + } + } + } + }) + + /** + * PAGE EDIT SUBMISSION DETAIL - The same, with both sides of the diff + */ + app.addSchema({ + $id: 'PageEditSubmissionDetail', + allOf: [ + { $ref: 'PageEditSubmission#' }, + { + type: 'object', + properties: { + content: { + type: 'string', + description: 'What the suggestion proposes the page should say.' + }, + pageContent: { + type: 'string', + description: 'What it currently says.' + }, + patch: { + type: 'string', + description: 'Unified diff against the page as it stood when the suggestion was made.' + } + } + } + ] + }) + /** * APPROVAL RULE INPUT - The fields a rule is written with */ diff --git a/backend/core/db.ts b/backend/core/db.ts index 18e8170cf..71772dc92 100644 --- a/backend/core/db.ts +++ b/backend/core/db.ts @@ -14,6 +14,16 @@ import { createDeferred } from '../helpers/common.ts' // import migrationSource from '../db/migrator-source.js' // const migrateFromLegacy = require('../db/legacy') +/** + * Postgres extensions the schema depends on, installed before the migrations run. + * + * `ltree` types the folder paths of the page tree and answers the ancestor queries the navigation is + * built from; `pg_trgm` backs fuzzy text matching. `pgcrypto` used to be here for `gen_random_uuid()`, + * which every primary key defaults to — that has been core since Postgres 13, and 16 is the minimum + * this runs on, so nothing needs it any more. + */ +const REQUIRED_EXTENSIONS = ['ltree', 'pg_trgm'] + /** * Query logger, consulted by Drizzle on every query. * @@ -263,6 +273,23 @@ export default { async syncSchemas(db: WikiDb) { WIKI.logger.info('Ensuring DB schema exists...') await db.execute(`CREATE SCHEMA IF NOT EXISTS ${WIKI.config.db.schema}`) + + /* + Here rather than at the top of the first migration, for the same reason the schema itself is: + the migrations need these to exist and cannot express them. + + `drizzle-kit generate` builds a migration by diffing the schema definition against the previous + snapshot, and an extension is part of neither — so a hand-written `CREATE EXTENSION` preamble + survives only until somebody regenerates, at which point the very first migration fails on the + `ltree` column it can no longer create. Stated here, that cannot happen. + + Idempotent, so a database whose extensions an administrator installed by hand is untouched. + */ + WIKI.logger.info('Ensuring required DB extensions are installed...') + for (const extension of REQUIRED_EXTENSIONS) { + await db.execute(`CREATE EXTENSION IF NOT EXISTS ${extension}`) + } + WIKI.logger.info('Ensuring DB migrations have been applied...') return migrate(db, { migrationsFolder: path.join(WIKI.SERVERPATH, 'db/migrations'), diff --git a/backend/db/migrations/20260119211320_init/migration.sql b/backend/db/migrations/20260119211320_init/migration.sql deleted file mode 100644 index 472a8af77..000000000 --- a/backend/db/migrations/20260119211320_init/migration.sql +++ /dev/null @@ -1,5 +0,0 @@ --- Create PG Extensions -- - -CREATE EXTENSION IF NOT EXISTS ltree; -CREATE EXTENSION IF NOT EXISTS pgcrypto; -CREATE EXTENSION IF NOT EXISTS pg_trgm; diff --git a/backend/db/migrations/20260119211320_init/snapshot.json b/backend/db/migrations/20260119211320_init/snapshot.json deleted file mode 100644 index 0f85457ac..000000000 --- a/backend/db/migrations/20260119211320_init/snapshot.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "id": "061e8c84-e05e-40b0-a074-7a56bd794fc7", - "prevIds": [ - "00000000-0000-0000-0000-000000000000" - ], - "version": "8", - "dialect": "postgres", - "ddl": [], - "renames": [] -} \ No newline at end of file diff --git a/backend/db/migrations/20260330022921_main/snapshot.json b/backend/db/migrations/20260330022921_main/snapshot.json deleted file mode 100644 index 1525f9826..000000000 --- a/backend/db/migrations/20260330022921_main/snapshot.json +++ /dev/null @@ -1,3744 +0,0 @@ -{ - "version": "8", - "dialect": "postgres", - "id": "91c32c3a-9a9e-4693-b10f-694beca33f26", - "prevIds": [ - "061e8c84-e05e-40b0-a074-7a56bd794fc7" - ], - "ddl": [ - { - "values": [ - "document", - "image", - "other" - ], - "name": "assetKind", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "active", - "completed", - "failed", - "interrupted" - ], - "name": "jobHistoryState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "draft", - "published", - "scheduled" - ], - "name": "pagePublishState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "inherit", - "override", - "overrideExact", - "hide", - "hideExact" - ], - "name": "treeNavigationMode", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "folder", - "page", - "asset" - ], - "name": "treeType", - "entityType": "enums", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "apiKeys", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "assets", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "authentication", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "blocks", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "groups", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobHistory", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobLock", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobSchedule", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobs", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "locales", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "navigation", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "pages", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "sessions", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "settings", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "sites", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "tags", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "tree", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userAvatars", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userGroups", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userKeys", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "users", - "entityType": "tables", - "schema": "public" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "expiration", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isRevoked", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileName", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileExt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "assetKind", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'other'", - "generated": null, - "identity": null, - "name": "kind", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'application/octet-stream'", - "generated": null, - "identity": null, - "name": "mimeType", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bigint", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileSize", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "preview", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "storageInfo", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authorId", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "module", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "displayName", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "registration", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "allowedEmailRegex", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 1, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "autoEnrollGroups", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "block", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "description", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "icon", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isCustom", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "permissions", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "rules", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnLogin", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnFirstLogin", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnLogout", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "jobHistoryState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "useWorker", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "wasScheduled", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "1", - "generated": null, - "identity": null, - "name": "attempt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "maxRetries", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastErrorMessage", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "executedBy", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "startedAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "completedAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastCheckedBy", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "lastCheckedAt", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "cron", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'system'", - "generated": null, - "identity": null, - "name": "type", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "useWorker", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "retries", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "maxRetries", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "waitUntil", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isScheduled", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "createdBy", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "code", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "nativeName", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(8)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "language", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(3)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "region", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(4)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "script", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isRTL", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "strings", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "completeness", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "items", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "locale", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "path", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hash", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "alias", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "title", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "description", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "icon", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "pagePublishState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'draft'", - "generated": null, - "identity": null, - "name": "publishState", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "publishStartDate", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "publishEndDate", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "relations", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "content", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "render", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "searchContent", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "tsvector", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "ts", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "tags", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "toc", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "editor", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "contentType", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isBrowsable", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isSearchable", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": { - "as": "\"pages\".\"publishState\" != 'draft' AND \"pages\".\"isSearchable\"", - "type": "stored" - }, - "identity": null, - "name": "isSearchableComputed", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "password", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "ratingScore", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "ratingCount", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "scripts", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "historyData", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authorId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "creatorId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "ownerId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "settings" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "value", - "entityType": "columns", - "schema": "public", - "table": "settings" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hostname", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "tag", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "usageCount", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "folderPath", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileName", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hash", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "treeType", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "tree", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "locale", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "title", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "treeNavigationMode", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'inherit'", - "generated": null, - "identity": null, - "name": "navigationMode", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "navigationId", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "tags", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "userAvatars" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "userAvatars" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "userGroups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "groupId", - "entityType": "columns", - "schema": "public", - "table": "userGroups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "kind", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "token", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "validUntil", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "email", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "auth", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "passkeys", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "prefs", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "hasAvatar", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isActive", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isVerified", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastLoginAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "assets_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "blocks_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "blocks" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "language", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "locales_language_idx", - "entityType": "indexes", - "schema": "public", - "table": "locales" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "navigation_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "navigation" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "authorId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_authorId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "creatorId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_creatorId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "ownerId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_ownerId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "ts", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "pages_ts_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tags", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "pages_tags_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "isSearchableComputed", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_isSearchableComputed_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "sessions_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "sessions" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tags_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "tag", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": true, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tags_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "folderPath", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_folderpath_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "folderPath", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gist", - "concurrently": false, - "name": "tree_folderpath_gist_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "fileName", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_fileName_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "hash", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_hash_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tree", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_type_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "locale", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gist", - "concurrently": false, - "name": "tree_locale_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "navigationMode", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_navigationMode_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "navigationId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_navigationId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tags", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "tree_tags_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "groupId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_groupId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "groupId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userKeys_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userKeys" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "lastLoginAt", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "users_lastLoginAt_idx", - "entityType": "indexes", - "schema": "public", - "table": "users" - }, - { - "nameExplicit": false, - "columns": [ - "authorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "assets_authorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "assets_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "blocks_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "blocks" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "navigation_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "navigation" - }, - { - "nameExplicit": false, - "columns": [ - "authorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_authorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "creatorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_creatorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "ownerId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_ownerId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "sessions_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "sessions" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "tags_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "tree_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "CASCADE", - "name": "userGroups_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": false, - "columns": [ - "groupId" - ], - "schemaTo": "public", - "tableTo": "groups", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "CASCADE", - "name": "userGroups_groupId_groups_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "userKeys_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userKeys" - }, - { - "columns": [ - "userId", - "groupId" - ], - "nameExplicit": false, - "name": "userGroups_pkey", - "entityType": "pks", - "schema": "public", - "table": "userGroups" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "apiKeys_pkey", - "schema": "public", - "table": "apiKeys", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "assets_pkey", - "schema": "public", - "table": "assets", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "authentication_pkey", - "schema": "public", - "table": "authentication", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "blocks_pkey", - "schema": "public", - "table": "blocks", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "groups_pkey", - "schema": "public", - "table": "groups", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobHistory_pkey", - "schema": "public", - "table": "jobHistory", - "entityType": "pks" - }, - { - "columns": [ - "key" - ], - "nameExplicit": false, - "name": "jobLock_pkey", - "schema": "public", - "table": "jobLock", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobSchedule_pkey", - "schema": "public", - "table": "jobSchedule", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobs_pkey", - "schema": "public", - "table": "jobs", - "entityType": "pks" - }, - { - "columns": [ - "code" - ], - "nameExplicit": false, - "name": "locales_pkey", - "schema": "public", - "table": "locales", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "navigation_pkey", - "schema": "public", - "table": "navigation", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "pages_pkey", - "schema": "public", - "table": "pages", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "sessions_pkey", - "schema": "public", - "table": "sessions", - "entityType": "pks" - }, - { - "columns": [ - "key" - ], - "nameExplicit": false, - "name": "settings_pkey", - "schema": "public", - "table": "settings", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "sites_pkey", - "schema": "public", - "table": "sites", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "tags_pkey", - "schema": "public", - "table": "tags", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "tree_pkey", - "schema": "public", - "table": "tree", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "userAvatars_pkey", - "schema": "public", - "table": "userAvatars", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "userKeys_pkey", - "schema": "public", - "table": "userKeys", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "users_pkey", - "schema": "public", - "table": "users", - "entityType": "pks" - }, - { - "nameExplicit": false, - "columns": [ - "hostname" - ], - "nullsNotDistinct": false, - "name": "sites_hostname_key", - "schema": "public", - "table": "sites", - "entityType": "uniques" - }, - { - "nameExplicit": false, - "columns": [ - "email" - ], - "nullsNotDistinct": false, - "name": "users_email_key", - "schema": "public", - "table": "users", - "entityType": "uniques" - } - ], - "renames": [] -} \ No newline at end of file diff --git a/backend/db/migrations/20260725221449_main/migration.sql b/backend/db/migrations/20260725221449_main/migration.sql deleted file mode 100644 index 5925ebbea..000000000 --- a/backend/db/migrations/20260725221449_main/migration.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE "apiKeys" DROP COLUMN "key"; \ No newline at end of file diff --git a/backend/db/migrations/20260725221449_main/snapshot.json b/backend/db/migrations/20260725221449_main/snapshot.json deleted file mode 100644 index 17555396a..000000000 --- a/backend/db/migrations/20260725221449_main/snapshot.json +++ /dev/null @@ -1,3731 +0,0 @@ -{ - "version": "8", - "dialect": "postgres", - "id": "9104fb01-a5cd-4e9f-bba7-e9b86dd6fa68", - "prevIds": [ - "91c32c3a-9a9e-4693-b10f-694beca33f26" - ], - "ddl": [ - { - "values": [ - "document", - "image", - "other" - ], - "name": "assetKind", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "active", - "completed", - "failed", - "interrupted" - ], - "name": "jobHistoryState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "draft", - "published", - "scheduled" - ], - "name": "pagePublishState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "inherit", - "override", - "overrideExact", - "hide", - "hideExact" - ], - "name": "treeNavigationMode", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "folder", - "page", - "asset" - ], - "name": "treeType", - "entityType": "enums", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "apiKeys", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "assets", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "authentication", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "blocks", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "groups", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobHistory", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobLock", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobSchedule", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobs", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "locales", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "navigation", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "pages", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "sessions", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "settings", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "sites", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "tags", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "tree", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userAvatars", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userGroups", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userKeys", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "users", - "entityType": "tables", - "schema": "public" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "expiration", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isRevoked", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileName", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileExt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "assetKind", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'other'", - "generated": null, - "identity": null, - "name": "kind", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'application/octet-stream'", - "generated": null, - "identity": null, - "name": "mimeType", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bigint", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileSize", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "preview", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "storageInfo", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authorId", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "module", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "displayName", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "registration", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "allowedEmailRegex", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 1, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "autoEnrollGroups", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "block", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "description", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "icon", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isCustom", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "permissions", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "rules", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnLogin", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnFirstLogin", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnLogout", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "jobHistoryState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "useWorker", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "wasScheduled", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "1", - "generated": null, - "identity": null, - "name": "attempt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "maxRetries", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastErrorMessage", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "executedBy", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "startedAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "completedAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastCheckedBy", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "lastCheckedAt", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "cron", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'system'", - "generated": null, - "identity": null, - "name": "type", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "useWorker", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "retries", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "maxRetries", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "waitUntil", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isScheduled", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "createdBy", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "code", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "nativeName", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(8)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "language", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(3)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "region", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(4)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "script", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isRTL", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "strings", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "completeness", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "items", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "locale", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "path", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hash", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "alias", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "title", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "description", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "icon", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "pagePublishState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'draft'", - "generated": null, - "identity": null, - "name": "publishState", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "publishStartDate", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "publishEndDate", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "relations", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "content", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "render", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "searchContent", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "tsvector", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "ts", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "tags", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "toc", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "editor", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "contentType", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isBrowsable", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isSearchable", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": { - "as": "\"pages\".\"publishState\" != 'draft' AND \"pages\".\"isSearchable\"", - "type": "stored" - }, - "identity": null, - "name": "isSearchableComputed", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "password", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "ratingScore", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "ratingCount", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "scripts", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "historyData", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authorId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "creatorId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "ownerId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "settings" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "value", - "entityType": "columns", - "schema": "public", - "table": "settings" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hostname", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "tag", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "usageCount", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "folderPath", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileName", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hash", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "treeType", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "tree", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "locale", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "title", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "treeNavigationMode", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'inherit'", - "generated": null, - "identity": null, - "name": "navigationMode", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "navigationId", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "tags", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "userAvatars" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "userAvatars" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "userGroups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "groupId", - "entityType": "columns", - "schema": "public", - "table": "userGroups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "kind", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "token", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "validUntil", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "email", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "auth", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "passkeys", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "prefs", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "hasAvatar", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isActive", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isVerified", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastLoginAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "assets_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "blocks_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "blocks" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "language", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "locales_language_idx", - "entityType": "indexes", - "schema": "public", - "table": "locales" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "navigation_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "navigation" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "authorId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_authorId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "creatorId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_creatorId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "ownerId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_ownerId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "ts", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "pages_ts_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tags", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "pages_tags_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "isSearchableComputed", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_isSearchableComputed_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "sessions_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "sessions" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tags_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "tag", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": true, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tags_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "folderPath", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_folderpath_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "folderPath", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gist", - "concurrently": false, - "name": "tree_folderpath_gist_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "fileName", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_fileName_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "hash", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_hash_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tree", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_type_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "locale", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gist", - "concurrently": false, - "name": "tree_locale_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "navigationMode", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_navigationMode_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "navigationId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_navigationId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tags", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "tree_tags_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "groupId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_groupId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "groupId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userKeys_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userKeys" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "lastLoginAt", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "users_lastLoginAt_idx", - "entityType": "indexes", - "schema": "public", - "table": "users" - }, - { - "nameExplicit": false, - "columns": [ - "authorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "assets_authorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "assets_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "blocks_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "blocks" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "navigation_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "navigation" - }, - { - "nameExplicit": false, - "columns": [ - "authorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_authorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "creatorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_creatorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "ownerId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_ownerId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "sessions_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "sessions" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "tags_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "tree_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "CASCADE", - "name": "userGroups_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": false, - "columns": [ - "groupId" - ], - "schemaTo": "public", - "tableTo": "groups", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "CASCADE", - "name": "userGroups_groupId_groups_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "userKeys_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userKeys" - }, - { - "columns": [ - "userId", - "groupId" - ], - "nameExplicit": false, - "name": "userGroups_pkey", - "entityType": "pks", - "schema": "public", - "table": "userGroups" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "apiKeys_pkey", - "schema": "public", - "table": "apiKeys", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "assets_pkey", - "schema": "public", - "table": "assets", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "authentication_pkey", - "schema": "public", - "table": "authentication", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "blocks_pkey", - "schema": "public", - "table": "blocks", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "groups_pkey", - "schema": "public", - "table": "groups", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobHistory_pkey", - "schema": "public", - "table": "jobHistory", - "entityType": "pks" - }, - { - "columns": [ - "key" - ], - "nameExplicit": false, - "name": "jobLock_pkey", - "schema": "public", - "table": "jobLock", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobSchedule_pkey", - "schema": "public", - "table": "jobSchedule", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobs_pkey", - "schema": "public", - "table": "jobs", - "entityType": "pks" - }, - { - "columns": [ - "code" - ], - "nameExplicit": false, - "name": "locales_pkey", - "schema": "public", - "table": "locales", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "navigation_pkey", - "schema": "public", - "table": "navigation", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "pages_pkey", - "schema": "public", - "table": "pages", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "sessions_pkey", - "schema": "public", - "table": "sessions", - "entityType": "pks" - }, - { - "columns": [ - "key" - ], - "nameExplicit": false, - "name": "settings_pkey", - "schema": "public", - "table": "settings", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "sites_pkey", - "schema": "public", - "table": "sites", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "tags_pkey", - "schema": "public", - "table": "tags", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "tree_pkey", - "schema": "public", - "table": "tree", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "userAvatars_pkey", - "schema": "public", - "table": "userAvatars", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "userKeys_pkey", - "schema": "public", - "table": "userKeys", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "users_pkey", - "schema": "public", - "table": "users", - "entityType": "pks" - }, - { - "nameExplicit": false, - "columns": [ - "hostname" - ], - "nullsNotDistinct": false, - "name": "sites_hostname_key", - "schema": "public", - "table": "sites", - "entityType": "uniques" - }, - { - "nameExplicit": false, - "columns": [ - "email" - ], - "nullsNotDistinct": false, - "name": "users_email_key", - "schema": "public", - "table": "users", - "entityType": "uniques" - } - ], - "renames": [] -} \ No newline at end of file diff --git a/backend/db/migrations/20260725221505_main/migration.sql b/backend/db/migrations/20260725221505_main/migration.sql deleted file mode 100644 index ff2a165b4..000000000 --- a/backend/db/migrations/20260725221505_main/migration.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE "apiKeys" ADD COLUMN "keyShort" varchar(8) NOT NULL;--> statement-breakpoint -ALTER TABLE "apiKeys" ADD COLUMN "groups" jsonb DEFAULT '[]' NOT NULL; \ No newline at end of file diff --git a/backend/db/migrations/20260725221505_main/snapshot.json b/backend/db/migrations/20260725221505_main/snapshot.json deleted file mode 100644 index 2d4ed5a2b..000000000 --- a/backend/db/migrations/20260725221505_main/snapshot.json +++ /dev/null @@ -1,3757 +0,0 @@ -{ - "version": "8", - "dialect": "postgres", - "id": "39f9e578-5956-45d5-bdc5-a27d2452b9bc", - "prevIds": [ - "9104fb01-a5cd-4e9f-bba7-e9b86dd6fa68" - ], - "ddl": [ - { - "values": [ - "document", - "image", - "other" - ], - "name": "assetKind", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "active", - "completed", - "failed", - "interrupted" - ], - "name": "jobHistoryState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "draft", - "published", - "scheduled" - ], - "name": "pagePublishState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "inherit", - "override", - "overrideExact", - "hide", - "hideExact" - ], - "name": "treeNavigationMode", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "folder", - "page", - "asset" - ], - "name": "treeType", - "entityType": "enums", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "apiKeys", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "assets", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "authentication", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "blocks", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "groups", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobHistory", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobLock", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobSchedule", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobs", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "locales", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "navigation", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "pages", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "sessions", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "settings", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "sites", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "tags", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "tree", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userAvatars", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userGroups", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userKeys", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "users", - "entityType": "tables", - "schema": "public" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "varchar(8)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "keyShort", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "groups", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "expiration", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isRevoked", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileName", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileExt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "assetKind", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'other'", - "generated": null, - "identity": null, - "name": "kind", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'application/octet-stream'", - "generated": null, - "identity": null, - "name": "mimeType", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bigint", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileSize", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "preview", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "storageInfo", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authorId", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "module", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "displayName", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "registration", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "allowedEmailRegex", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 1, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "autoEnrollGroups", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "block", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "description", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "icon", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isCustom", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "permissions", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "rules", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnLogin", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnFirstLogin", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnLogout", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "jobHistoryState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "useWorker", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "wasScheduled", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "1", - "generated": null, - "identity": null, - "name": "attempt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "maxRetries", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastErrorMessage", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "executedBy", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "startedAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "completedAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastCheckedBy", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "lastCheckedAt", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "cron", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'system'", - "generated": null, - "identity": null, - "name": "type", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "useWorker", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "retries", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "maxRetries", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "waitUntil", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isScheduled", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "createdBy", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "code", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "nativeName", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(8)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "language", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(3)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "region", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(4)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "script", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isRTL", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "strings", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "completeness", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "items", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "locale", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "path", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hash", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "alias", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "title", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "description", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "icon", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "pagePublishState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'draft'", - "generated": null, - "identity": null, - "name": "publishState", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "publishStartDate", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "publishEndDate", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "relations", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "content", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "render", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "searchContent", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "tsvector", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "ts", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "tags", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "toc", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "editor", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "contentType", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isBrowsable", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isSearchable", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": { - "as": "\"pages\".\"publishState\" != 'draft' AND \"pages\".\"isSearchable\"", - "type": "stored" - }, - "identity": null, - "name": "isSearchableComputed", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "password", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "ratingScore", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "ratingCount", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "scripts", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "historyData", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authorId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "creatorId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "ownerId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "settings" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "value", - "entityType": "columns", - "schema": "public", - "table": "settings" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hostname", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "tag", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "usageCount", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "folderPath", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileName", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hash", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "treeType", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "tree", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "locale", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "title", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "treeNavigationMode", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'inherit'", - "generated": null, - "identity": null, - "name": "navigationMode", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "navigationId", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "tags", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "userAvatars" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "userAvatars" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "userGroups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "groupId", - "entityType": "columns", - "schema": "public", - "table": "userGroups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "kind", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "token", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "validUntil", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "email", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "auth", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "passkeys", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "prefs", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "hasAvatar", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isActive", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isVerified", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastLoginAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "assets_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "blocks_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "blocks" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "language", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "locales_language_idx", - "entityType": "indexes", - "schema": "public", - "table": "locales" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "navigation_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "navigation" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "authorId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_authorId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "creatorId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_creatorId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "ownerId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_ownerId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "ts", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "pages_ts_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tags", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "pages_tags_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "isSearchableComputed", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_isSearchableComputed_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "sessions_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "sessions" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tags_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "tag", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": true, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tags_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "folderPath", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_folderpath_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "folderPath", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gist", - "concurrently": false, - "name": "tree_folderpath_gist_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "fileName", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_fileName_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "hash", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_hash_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tree", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_type_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "locale", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gist", - "concurrently": false, - "name": "tree_locale_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "navigationMode", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_navigationMode_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "navigationId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_navigationId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tags", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "tree_tags_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "groupId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_groupId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "groupId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userKeys_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userKeys" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "lastLoginAt", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "users_lastLoginAt_idx", - "entityType": "indexes", - "schema": "public", - "table": "users" - }, - { - "nameExplicit": false, - "columns": [ - "authorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "assets_authorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "assets_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "blocks_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "blocks" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "navigation_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "navigation" - }, - { - "nameExplicit": false, - "columns": [ - "authorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_authorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "creatorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_creatorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "ownerId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_ownerId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "sessions_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "sessions" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "tags_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "tree_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "CASCADE", - "name": "userGroups_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": false, - "columns": [ - "groupId" - ], - "schemaTo": "public", - "tableTo": "groups", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "CASCADE", - "name": "userGroups_groupId_groups_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "userKeys_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userKeys" - }, - { - "columns": [ - "userId", - "groupId" - ], - "nameExplicit": false, - "name": "userGroups_pkey", - "entityType": "pks", - "schema": "public", - "table": "userGroups" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "apiKeys_pkey", - "schema": "public", - "table": "apiKeys", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "assets_pkey", - "schema": "public", - "table": "assets", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "authentication_pkey", - "schema": "public", - "table": "authentication", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "blocks_pkey", - "schema": "public", - "table": "blocks", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "groups_pkey", - "schema": "public", - "table": "groups", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobHistory_pkey", - "schema": "public", - "table": "jobHistory", - "entityType": "pks" - }, - { - "columns": [ - "key" - ], - "nameExplicit": false, - "name": "jobLock_pkey", - "schema": "public", - "table": "jobLock", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobSchedule_pkey", - "schema": "public", - "table": "jobSchedule", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobs_pkey", - "schema": "public", - "table": "jobs", - "entityType": "pks" - }, - { - "columns": [ - "code" - ], - "nameExplicit": false, - "name": "locales_pkey", - "schema": "public", - "table": "locales", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "navigation_pkey", - "schema": "public", - "table": "navigation", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "pages_pkey", - "schema": "public", - "table": "pages", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "sessions_pkey", - "schema": "public", - "table": "sessions", - "entityType": "pks" - }, - { - "columns": [ - "key" - ], - "nameExplicit": false, - "name": "settings_pkey", - "schema": "public", - "table": "settings", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "sites_pkey", - "schema": "public", - "table": "sites", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "tags_pkey", - "schema": "public", - "table": "tags", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "tree_pkey", - "schema": "public", - "table": "tree", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "userAvatars_pkey", - "schema": "public", - "table": "userAvatars", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "userKeys_pkey", - "schema": "public", - "table": "userKeys", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "users_pkey", - "schema": "public", - "table": "users", - "entityType": "pks" - }, - { - "nameExplicit": false, - "columns": [ - "hostname" - ], - "nullsNotDistinct": false, - "name": "sites_hostname_key", - "schema": "public", - "table": "sites", - "entityType": "uniques" - }, - { - "nameExplicit": false, - "columns": [ - "email" - ], - "nullsNotDistinct": false, - "name": "users_email_key", - "schema": "public", - "table": "users", - "entityType": "uniques" - } - ], - "renames": [] -} \ No newline at end of file diff --git a/backend/db/migrations/20260726001017_main/migration.sql b/backend/db/migrations/20260726001017_main/migration.sql deleted file mode 100644 index f800f8e6c..000000000 --- a/backend/db/migrations/20260726001017_main/migration.sql +++ /dev/null @@ -1,15 +0,0 @@ -CREATE TYPE "hookState" AS ENUM('pending', 'success', 'error');--> statement-breakpoint -CREATE TABLE "hooks" ( - "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(), - "name" varchar(255) NOT NULL, - "events" text[] DEFAULT ARRAY[]::text[] NOT NULL, - "url" text NOT NULL, - "includeMetadata" boolean DEFAULT true NOT NULL, - "includeContent" boolean DEFAULT false NOT NULL, - "acceptUntrusted" boolean DEFAULT false NOT NULL, - "authHeader" text, - "state" "hookState" DEFAULT 'pending'::"hookState" NOT NULL, - "lastErrorMessage" text, - "createdAt" timestamp DEFAULT now() NOT NULL, - "updatedAt" timestamp DEFAULT now() NOT NULL -); diff --git a/backend/db/migrations/20260726001017_main/snapshot.json b/backend/db/migrations/20260726001017_main/snapshot.json deleted file mode 100644 index ed4ca56d4..000000000 --- a/backend/db/migrations/20260726001017_main/snapshot.json +++ /dev/null @@ -1,3939 +0,0 @@ -{ - "version": "8", - "dialect": "postgres", - "id": "2edb30b9-3a30-45f4-a267-0751f92e8505", - "prevIds": [ - "39f9e578-5956-45d5-bdc5-a27d2452b9bc" - ], - "ddl": [ - { - "values": [ - "document", - "image", - "other" - ], - "name": "assetKind", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "pending", - "success", - "error" - ], - "name": "hookState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "active", - "completed", - "failed", - "interrupted" - ], - "name": "jobHistoryState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "draft", - "published", - "scheduled" - ], - "name": "pagePublishState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "inherit", - "override", - "overrideExact", - "hide", - "hideExact" - ], - "name": "treeNavigationMode", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "folder", - "page", - "asset" - ], - "name": "treeType", - "entityType": "enums", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "apiKeys", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "assets", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "authentication", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "blocks", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "groups", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "hooks", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobHistory", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobLock", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobSchedule", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobs", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "locales", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "navigation", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "pages", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "sessions", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "settings", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "sites", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "tags", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "tree", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userAvatars", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userGroups", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userKeys", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "users", - "entityType": "tables", - "schema": "public" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "varchar(8)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "keyShort", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "groups", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "expiration", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isRevoked", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileName", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileExt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "assetKind", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'other'", - "generated": null, - "identity": null, - "name": "kind", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'application/octet-stream'", - "generated": null, - "identity": null, - "name": "mimeType", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bigint", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileSize", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "preview", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "storageInfo", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authorId", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "module", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "displayName", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "registration", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "allowedEmailRegex", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 1, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "autoEnrollGroups", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "block", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "description", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "icon", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isCustom", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "permissions", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "rules", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnLogin", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnFirstLogin", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnLogout", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "events", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "url", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "includeMetadata", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "includeContent", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "acceptUntrusted", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authHeader", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "hookState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'pending'", - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastErrorMessage", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "jobHistoryState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "useWorker", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "wasScheduled", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "1", - "generated": null, - "identity": null, - "name": "attempt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "maxRetries", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastErrorMessage", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "executedBy", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "startedAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "completedAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastCheckedBy", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "lastCheckedAt", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "cron", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'system'", - "generated": null, - "identity": null, - "name": "type", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "useWorker", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "retries", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "maxRetries", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "waitUntil", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isScheduled", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "createdBy", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "code", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "nativeName", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(8)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "language", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(3)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "region", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(4)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "script", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isRTL", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "strings", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "completeness", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "items", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "locale", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "path", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hash", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "alias", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "title", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "description", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "icon", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "pagePublishState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'draft'", - "generated": null, - "identity": null, - "name": "publishState", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "publishStartDate", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "publishEndDate", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "relations", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "content", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "render", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "searchContent", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "tsvector", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "ts", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "tags", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "toc", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "editor", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "contentType", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isBrowsable", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isSearchable", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": { - "as": "\"pages\".\"publishState\" != 'draft' AND \"pages\".\"isSearchable\"", - "type": "stored" - }, - "identity": null, - "name": "isSearchableComputed", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "password", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "ratingScore", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "ratingCount", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "scripts", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "historyData", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authorId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "creatorId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "ownerId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "settings" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "value", - "entityType": "columns", - "schema": "public", - "table": "settings" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hostname", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "tag", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "usageCount", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "folderPath", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileName", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hash", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "treeType", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "tree", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "locale", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "title", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "treeNavigationMode", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'inherit'", - "generated": null, - "identity": null, - "name": "navigationMode", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "navigationId", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "tags", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "userAvatars" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "userAvatars" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "userGroups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "groupId", - "entityType": "columns", - "schema": "public", - "table": "userGroups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "kind", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "token", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "validUntil", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "email", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "auth", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "passkeys", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "prefs", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "hasAvatar", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isActive", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isVerified", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastLoginAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "assets_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "blocks_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "blocks" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "language", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "locales_language_idx", - "entityType": "indexes", - "schema": "public", - "table": "locales" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "navigation_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "navigation" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "authorId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_authorId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "creatorId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_creatorId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "ownerId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_ownerId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "ts", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "pages_ts_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tags", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "pages_tags_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "isSearchableComputed", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_isSearchableComputed_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "sessions_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "sessions" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tags_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "tag", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": true, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tags_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "folderPath", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_folderpath_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "folderPath", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gist", - "concurrently": false, - "name": "tree_folderpath_gist_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "fileName", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_fileName_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "hash", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_hash_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tree", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_type_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "locale", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gist", - "concurrently": false, - "name": "tree_locale_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "navigationMode", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_navigationMode_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "navigationId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_navigationId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tags", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "tree_tags_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "groupId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_groupId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "groupId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userKeys_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userKeys" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "lastLoginAt", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "users_lastLoginAt_idx", - "entityType": "indexes", - "schema": "public", - "table": "users" - }, - { - "nameExplicit": false, - "columns": [ - "authorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "assets_authorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "assets_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "blocks_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "blocks" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "navigation_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "navigation" - }, - { - "nameExplicit": false, - "columns": [ - "authorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_authorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "creatorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_creatorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "ownerId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_ownerId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "sessions_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "sessions" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "tags_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "tree_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "CASCADE", - "name": "userGroups_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": false, - "columns": [ - "groupId" - ], - "schemaTo": "public", - "tableTo": "groups", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "CASCADE", - "name": "userGroups_groupId_groups_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "userKeys_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userKeys" - }, - { - "columns": [ - "userId", - "groupId" - ], - "nameExplicit": false, - "name": "userGroups_pkey", - "entityType": "pks", - "schema": "public", - "table": "userGroups" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "apiKeys_pkey", - "schema": "public", - "table": "apiKeys", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "assets_pkey", - "schema": "public", - "table": "assets", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "authentication_pkey", - "schema": "public", - "table": "authentication", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "blocks_pkey", - "schema": "public", - "table": "blocks", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "groups_pkey", - "schema": "public", - "table": "groups", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "hooks_pkey", - "schema": "public", - "table": "hooks", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobHistory_pkey", - "schema": "public", - "table": "jobHistory", - "entityType": "pks" - }, - { - "columns": [ - "key" - ], - "nameExplicit": false, - "name": "jobLock_pkey", - "schema": "public", - "table": "jobLock", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobSchedule_pkey", - "schema": "public", - "table": "jobSchedule", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobs_pkey", - "schema": "public", - "table": "jobs", - "entityType": "pks" - }, - { - "columns": [ - "code" - ], - "nameExplicit": false, - "name": "locales_pkey", - "schema": "public", - "table": "locales", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "navigation_pkey", - "schema": "public", - "table": "navigation", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "pages_pkey", - "schema": "public", - "table": "pages", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "sessions_pkey", - "schema": "public", - "table": "sessions", - "entityType": "pks" - }, - { - "columns": [ - "key" - ], - "nameExplicit": false, - "name": "settings_pkey", - "schema": "public", - "table": "settings", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "sites_pkey", - "schema": "public", - "table": "sites", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "tags_pkey", - "schema": "public", - "table": "tags", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "tree_pkey", - "schema": "public", - "table": "tree", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "userAvatars_pkey", - "schema": "public", - "table": "userAvatars", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "userKeys_pkey", - "schema": "public", - "table": "userKeys", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "users_pkey", - "schema": "public", - "table": "users", - "entityType": "pks" - }, - { - "nameExplicit": false, - "columns": [ - "hostname" - ], - "nullsNotDistinct": false, - "name": "sites_hostname_key", - "schema": "public", - "table": "sites", - "entityType": "uniques" - }, - { - "nameExplicit": false, - "columns": [ - "email" - ], - "nullsNotDistinct": false, - "name": "users_email_key", - "schema": "public", - "table": "users", - "entityType": "uniques" - } - ], - "renames": [] -} \ No newline at end of file diff --git a/backend/db/migrations/20260726155600_main/migration.sql b/backend/db/migrations/20260726155600_main/migration.sql deleted file mode 100644 index 57c7bf297..000000000 --- a/backend/db/migrations/20260726155600_main/migration.sql +++ /dev/null @@ -1,14 +0,0 @@ -CREATE TABLE "storage" ( - "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(), - "module" varchar(255) NOT NULL, - "isEnabled" boolean DEFAULT false NOT NULL, - "contentTypes" jsonb DEFAULT '{}' NOT NULL, - "assetDelivery" jsonb DEFAULT '{}' NOT NULL, - "versioning" jsonb DEFAULT '{}' NOT NULL, - "config" jsonb DEFAULT '{}' NOT NULL, - "state" jsonb DEFAULT '{}' NOT NULL, - "siteId" uuid NOT NULL -); ---> statement-breakpoint -CREATE UNIQUE INDEX "storage_composite_idx" ON "storage" ("siteId","module");--> statement-breakpoint -ALTER TABLE "storage" ADD CONSTRAINT "storage_siteId_sites_id_fkey" FOREIGN KEY ("siteId") REFERENCES "sites"("id"); \ No newline at end of file diff --git a/backend/db/migrations/20260726155600_main/snapshot.json b/backend/db/migrations/20260726155600_main/snapshot.json deleted file mode 100644 index e796754dd..000000000 --- a/backend/db/migrations/20260726155600_main/snapshot.json +++ /dev/null @@ -1,4117 +0,0 @@ -{ - "version": "8", - "dialect": "postgres", - "id": "4bd0ffe1-0347-46e1-98ac-712c21ca46eb", - "prevIds": [ - "2edb30b9-3a30-45f4-a267-0751f92e8505" - ], - "ddl": [ - { - "values": [ - "document", - "image", - "other" - ], - "name": "assetKind", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "pending", - "success", - "error" - ], - "name": "hookState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "active", - "completed", - "failed", - "interrupted" - ], - "name": "jobHistoryState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "draft", - "published", - "scheduled" - ], - "name": "pagePublishState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "inherit", - "override", - "overrideExact", - "hide", - "hideExact" - ], - "name": "treeNavigationMode", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "folder", - "page", - "asset" - ], - "name": "treeType", - "entityType": "enums", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "apiKeys", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "assets", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "authentication", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "blocks", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "groups", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "hooks", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobHistory", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobLock", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobSchedule", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobs", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "locales", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "navigation", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "pages", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "sessions", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "settings", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "sites", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "storage", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "tags", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "tree", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userAvatars", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userGroups", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userKeys", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "users", - "entityType": "tables", - "schema": "public" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "varchar(8)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "keyShort", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "groups", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "expiration", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isRevoked", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileName", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileExt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "assetKind", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'other'", - "generated": null, - "identity": null, - "name": "kind", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'application/octet-stream'", - "generated": null, - "identity": null, - "name": "mimeType", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bigint", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileSize", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "preview", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "storageInfo", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authorId", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "module", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "displayName", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "registration", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "allowedEmailRegex", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 1, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "autoEnrollGroups", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "block", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "description", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "icon", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isCustom", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "permissions", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "rules", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnLogin", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnFirstLogin", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnLogout", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "events", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "url", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "includeMetadata", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "includeContent", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "acceptUntrusted", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authHeader", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "hookState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'pending'", - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastErrorMessage", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "jobHistoryState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "useWorker", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "wasScheduled", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "1", - "generated": null, - "identity": null, - "name": "attempt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "maxRetries", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastErrorMessage", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "executedBy", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "startedAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "completedAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastCheckedBy", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "lastCheckedAt", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "cron", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'system'", - "generated": null, - "identity": null, - "name": "type", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "useWorker", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "retries", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "maxRetries", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "waitUntil", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isScheduled", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "createdBy", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "code", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "nativeName", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(8)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "language", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(3)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "region", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(4)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "script", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isRTL", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "strings", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "completeness", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "items", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "locale", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "path", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hash", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "alias", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "title", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "description", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "icon", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "pagePublishState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'draft'", - "generated": null, - "identity": null, - "name": "publishState", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "publishStartDate", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "publishEndDate", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "relations", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "content", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "render", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "searchContent", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "tsvector", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "ts", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "tags", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "toc", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "editor", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "contentType", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isBrowsable", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isSearchable", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": { - "as": "\"pages\".\"publishState\" != 'draft' AND \"pages\".\"isSearchable\"", - "type": "stored" - }, - "identity": null, - "name": "isSearchableComputed", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "password", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "ratingScore", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "ratingCount", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "scripts", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "historyData", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authorId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "creatorId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "ownerId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "settings" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "value", - "entityType": "columns", - "schema": "public", - "table": "settings" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hostname", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "module", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "contentTypes", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "assetDelivery", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "versioning", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "tag", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "usageCount", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "folderPath", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileName", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hash", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "treeType", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "tree", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "locale", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "title", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "treeNavigationMode", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'inherit'", - "generated": null, - "identity": null, - "name": "navigationMode", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "navigationId", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "tags", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "userAvatars" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "userAvatars" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "userGroups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "groupId", - "entityType": "columns", - "schema": "public", - "table": "userGroups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "kind", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "token", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "validUntil", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "email", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "auth", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "passkeys", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "prefs", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "hasAvatar", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isActive", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isVerified", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastLoginAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "assets_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "blocks_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "blocks" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "language", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "locales_language_idx", - "entityType": "indexes", - "schema": "public", - "table": "locales" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "navigation_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "navigation" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "authorId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_authorId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "creatorId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_creatorId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "ownerId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_ownerId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "ts", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "pages_ts_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tags", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "pages_tags_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "isSearchableComputed", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_isSearchableComputed_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "sessions_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "sessions" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "module", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": true, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "storage_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "storage" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tags_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "tag", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": true, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tags_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "folderPath", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_folderpath_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "folderPath", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gist", - "concurrently": false, - "name": "tree_folderpath_gist_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "fileName", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_fileName_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "hash", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_hash_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tree", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_type_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "locale", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gist", - "concurrently": false, - "name": "tree_locale_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "navigationMode", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_navigationMode_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "navigationId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_navigationId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tags", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "tree_tags_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "groupId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_groupId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "groupId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userKeys_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userKeys" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "lastLoginAt", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "users_lastLoginAt_idx", - "entityType": "indexes", - "schema": "public", - "table": "users" - }, - { - "nameExplicit": false, - "columns": [ - "authorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "assets_authorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "assets_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "blocks_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "blocks" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "navigation_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "navigation" - }, - { - "nameExplicit": false, - "columns": [ - "authorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_authorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "creatorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_creatorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "ownerId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_ownerId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "sessions_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "sessions" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "storage_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "storage" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "tags_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "tree_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "CASCADE", - "name": "userGroups_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": false, - "columns": [ - "groupId" - ], - "schemaTo": "public", - "tableTo": "groups", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "CASCADE", - "name": "userGroups_groupId_groups_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "userKeys_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userKeys" - }, - { - "columns": [ - "userId", - "groupId" - ], - "nameExplicit": false, - "name": "userGroups_pkey", - "entityType": "pks", - "schema": "public", - "table": "userGroups" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "apiKeys_pkey", - "schema": "public", - "table": "apiKeys", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "assets_pkey", - "schema": "public", - "table": "assets", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "authentication_pkey", - "schema": "public", - "table": "authentication", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "blocks_pkey", - "schema": "public", - "table": "blocks", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "groups_pkey", - "schema": "public", - "table": "groups", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "hooks_pkey", - "schema": "public", - "table": "hooks", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobHistory_pkey", - "schema": "public", - "table": "jobHistory", - "entityType": "pks" - }, - { - "columns": [ - "key" - ], - "nameExplicit": false, - "name": "jobLock_pkey", - "schema": "public", - "table": "jobLock", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobSchedule_pkey", - "schema": "public", - "table": "jobSchedule", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobs_pkey", - "schema": "public", - "table": "jobs", - "entityType": "pks" - }, - { - "columns": [ - "code" - ], - "nameExplicit": false, - "name": "locales_pkey", - "schema": "public", - "table": "locales", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "navigation_pkey", - "schema": "public", - "table": "navigation", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "pages_pkey", - "schema": "public", - "table": "pages", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "sessions_pkey", - "schema": "public", - "table": "sessions", - "entityType": "pks" - }, - { - "columns": [ - "key" - ], - "nameExplicit": false, - "name": "settings_pkey", - "schema": "public", - "table": "settings", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "sites_pkey", - "schema": "public", - "table": "sites", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "storage_pkey", - "schema": "public", - "table": "storage", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "tags_pkey", - "schema": "public", - "table": "tags", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "tree_pkey", - "schema": "public", - "table": "tree", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "userAvatars_pkey", - "schema": "public", - "table": "userAvatars", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "userKeys_pkey", - "schema": "public", - "table": "userKeys", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "users_pkey", - "schema": "public", - "table": "users", - "entityType": "pks" - }, - { - "nameExplicit": false, - "columns": [ - "hostname" - ], - "nullsNotDistinct": false, - "name": "sites_hostname_key", - "schema": "public", - "table": "sites", - "entityType": "uniques" - }, - { - "nameExplicit": false, - "columns": [ - "email" - ], - "nullsNotDistinct": false, - "name": "users_email_key", - "schema": "public", - "table": "users", - "entityType": "uniques" - } - ], - "renames": [] -} \ No newline at end of file diff --git a/backend/db/migrations/20260726164139_main/migration.sql b/backend/db/migrations/20260726164139_main/migration.sql deleted file mode 100644 index 262d613cb..000000000 --- a/backend/db/migrations/20260726164139_main/migration.sql +++ /dev/null @@ -1,25 +0,0 @@ -CREATE TABLE "iconSets" ( - "prefix" varchar(64) PRIMARY KEY, - "name" varchar(255) NOT NULL, - "isEnabled" boolean DEFAULT true NOT NULL, - "info" jsonb DEFAULT '{}' NOT NULL, - "refreshedAt" timestamp, - "createdAt" timestamp DEFAULT now() NOT NULL -); ---> statement-breakpoint -CREATE TABLE "icons" ( - "prefix" varchar(64), - "name" varchar(255), - "body" text NOT NULL, - "width" integer DEFAULT 16 NOT NULL, - "height" integer DEFAULT 16 NOT NULL, - "left" integer DEFAULT 0 NOT NULL, - "top" integer DEFAULT 0 NOT NULL, - "rotate" integer DEFAULT 0 NOT NULL, - "hFlip" boolean DEFAULT false NOT NULL, - "vFlip" boolean DEFAULT false NOT NULL, - "createdAt" timestamp DEFAULT now() NOT NULL, - CONSTRAINT "icons_pkey" PRIMARY KEY("prefix","name") -); ---> statement-breakpoint -ALTER TABLE "icons" ADD CONSTRAINT "icons_prefix_iconSets_prefix_fkey" FOREIGN KEY ("prefix") REFERENCES "iconSets"("prefix"); \ No newline at end of file diff --git a/backend/db/migrations/20260726164139_main/snapshot.json b/backend/db/migrations/20260726164139_main/snapshot.json deleted file mode 100644 index a6c4b68d1..000000000 --- a/backend/db/migrations/20260726164139_main/snapshot.json +++ /dev/null @@ -1,4388 +0,0 @@ -{ - "version": "8", - "dialect": "postgres", - "id": "8df793cb-b12b-48d1-9a51-6b07f814e6b4", - "prevIds": [ - "4bd0ffe1-0347-46e1-98ac-712c21ca46eb" - ], - "ddl": [ - { - "values": [ - "document", - "image", - "other" - ], - "name": "assetKind", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "pending", - "success", - "error" - ], - "name": "hookState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "active", - "completed", - "failed", - "interrupted" - ], - "name": "jobHistoryState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "draft", - "published", - "scheduled" - ], - "name": "pagePublishState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "inherit", - "override", - "overrideExact", - "hide", - "hideExact" - ], - "name": "treeNavigationMode", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "folder", - "page", - "asset" - ], - "name": "treeType", - "entityType": "enums", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "apiKeys", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "assets", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "authentication", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "blocks", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "groups", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "hooks", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "iconSets", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "icons", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobHistory", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobLock", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobSchedule", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobs", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "locales", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "navigation", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "pages", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "sessions", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "settings", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "sites", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "storage", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "tags", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "tree", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userAvatars", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userGroups", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userKeys", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "users", - "entityType": "tables", - "schema": "public" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "varchar(8)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "keyShort", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "groups", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "expiration", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isRevoked", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileName", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileExt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "assetKind", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'other'", - "generated": null, - "identity": null, - "name": "kind", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'application/octet-stream'", - "generated": null, - "identity": null, - "name": "mimeType", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bigint", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileSize", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "preview", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "storageInfo", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authorId", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "module", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "displayName", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "registration", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "allowedEmailRegex", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 1, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "autoEnrollGroups", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "block", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "description", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "icon", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isCustom", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "permissions", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "rules", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnLogin", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnFirstLogin", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnLogout", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "events", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "url", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "includeMetadata", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "includeContent", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "acceptUntrusted", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authHeader", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "hookState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'pending'", - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastErrorMessage", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "varchar(64)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "prefix", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "info", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "refreshedAt", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "varchar(64)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "prefix", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "body", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "16", - "generated": null, - "identity": null, - "name": "width", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "16", - "generated": null, - "identity": null, - "name": "height", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "left", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "top", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "rotate", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "hFlip", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "vFlip", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "jobHistoryState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "useWorker", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "wasScheduled", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "1", - "generated": null, - "identity": null, - "name": "attempt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "maxRetries", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastErrorMessage", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "executedBy", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "startedAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "completedAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastCheckedBy", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "lastCheckedAt", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "cron", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'system'", - "generated": null, - "identity": null, - "name": "type", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "useWorker", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "retries", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "maxRetries", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "waitUntil", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isScheduled", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "createdBy", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "code", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "nativeName", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(8)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "language", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(3)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "region", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(4)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "script", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isRTL", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "strings", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "completeness", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "items", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "locale", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "path", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hash", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "alias", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "title", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "description", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "icon", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "pagePublishState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'draft'", - "generated": null, - "identity": null, - "name": "publishState", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "publishStartDate", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "publishEndDate", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "relations", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "content", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "render", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "searchContent", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "tsvector", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "ts", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "tags", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "toc", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "editor", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "contentType", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isBrowsable", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isSearchable", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": { - "as": "\"pages\".\"publishState\" != 'draft' AND \"pages\".\"isSearchable\"", - "type": "stored" - }, - "identity": null, - "name": "isSearchableComputed", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "password", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "ratingScore", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "ratingCount", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "scripts", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "historyData", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authorId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "creatorId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "ownerId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "settings" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "value", - "entityType": "columns", - "schema": "public", - "table": "settings" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hostname", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "module", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "contentTypes", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "assetDelivery", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "versioning", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "tag", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "usageCount", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "folderPath", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileName", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hash", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "treeType", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "tree", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "locale", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "title", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "treeNavigationMode", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'inherit'", - "generated": null, - "identity": null, - "name": "navigationMode", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "navigationId", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "tags", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "userAvatars" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "userAvatars" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "userGroups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "groupId", - "entityType": "columns", - "schema": "public", - "table": "userGroups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "kind", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "token", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "validUntil", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "email", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "auth", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "passkeys", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "prefs", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "hasAvatar", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isActive", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isVerified", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastLoginAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "assets_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "blocks_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "blocks" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "language", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "locales_language_idx", - "entityType": "indexes", - "schema": "public", - "table": "locales" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "navigation_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "navigation" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "authorId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_authorId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "creatorId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_creatorId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "ownerId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_ownerId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "ts", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "pages_ts_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tags", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "pages_tags_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "isSearchableComputed", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_isSearchableComputed_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "sessions_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "sessions" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "module", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": true, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "storage_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "storage" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tags_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "tag", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": true, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tags_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "folderPath", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_folderpath_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "folderPath", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gist", - "concurrently": false, - "name": "tree_folderpath_gist_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "fileName", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_fileName_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "hash", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_hash_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tree", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_type_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "locale", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gist", - "concurrently": false, - "name": "tree_locale_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "navigationMode", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_navigationMode_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "navigationId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_navigationId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tags", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "tree_tags_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "groupId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_groupId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "groupId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userKeys_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userKeys" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "lastLoginAt", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "users_lastLoginAt_idx", - "entityType": "indexes", - "schema": "public", - "table": "users" - }, - { - "nameExplicit": false, - "columns": [ - "authorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "assets_authorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "assets_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "blocks_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "blocks" - }, - { - "nameExplicit": false, - "columns": [ - "prefix" - ], - "schemaTo": "public", - "tableTo": "iconSets", - "columnsTo": [ - "prefix" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "icons_prefix_iconSets_prefix_fkey", - "entityType": "fks", - "schema": "public", - "table": "icons" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "navigation_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "navigation" - }, - { - "nameExplicit": false, - "columns": [ - "authorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_authorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "creatorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_creatorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "ownerId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_ownerId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "sessions_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "sessions" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "storage_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "storage" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "tags_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "tree_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "CASCADE", - "name": "userGroups_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": false, - "columns": [ - "groupId" - ], - "schemaTo": "public", - "tableTo": "groups", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "CASCADE", - "name": "userGroups_groupId_groups_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "userKeys_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userKeys" - }, - { - "columns": [ - "prefix", - "name" - ], - "nameExplicit": false, - "name": "icons_pkey", - "entityType": "pks", - "schema": "public", - "table": "icons" - }, - { - "columns": [ - "userId", - "groupId" - ], - "nameExplicit": false, - "name": "userGroups_pkey", - "entityType": "pks", - "schema": "public", - "table": "userGroups" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "apiKeys_pkey", - "schema": "public", - "table": "apiKeys", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "assets_pkey", - "schema": "public", - "table": "assets", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "authentication_pkey", - "schema": "public", - "table": "authentication", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "blocks_pkey", - "schema": "public", - "table": "blocks", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "groups_pkey", - "schema": "public", - "table": "groups", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "hooks_pkey", - "schema": "public", - "table": "hooks", - "entityType": "pks" - }, - { - "columns": [ - "prefix" - ], - "nameExplicit": false, - "name": "iconSets_pkey", - "schema": "public", - "table": "iconSets", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobHistory_pkey", - "schema": "public", - "table": "jobHistory", - "entityType": "pks" - }, - { - "columns": [ - "key" - ], - "nameExplicit": false, - "name": "jobLock_pkey", - "schema": "public", - "table": "jobLock", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobSchedule_pkey", - "schema": "public", - "table": "jobSchedule", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobs_pkey", - "schema": "public", - "table": "jobs", - "entityType": "pks" - }, - { - "columns": [ - "code" - ], - "nameExplicit": false, - "name": "locales_pkey", - "schema": "public", - "table": "locales", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "navigation_pkey", - "schema": "public", - "table": "navigation", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "pages_pkey", - "schema": "public", - "table": "pages", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "sessions_pkey", - "schema": "public", - "table": "sessions", - "entityType": "pks" - }, - { - "columns": [ - "key" - ], - "nameExplicit": false, - "name": "settings_pkey", - "schema": "public", - "table": "settings", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "sites_pkey", - "schema": "public", - "table": "sites", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "storage_pkey", - "schema": "public", - "table": "storage", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "tags_pkey", - "schema": "public", - "table": "tags", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "tree_pkey", - "schema": "public", - "table": "tree", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "userAvatars_pkey", - "schema": "public", - "table": "userAvatars", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "userKeys_pkey", - "schema": "public", - "table": "userKeys", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "users_pkey", - "schema": "public", - "table": "users", - "entityType": "pks" - }, - { - "nameExplicit": false, - "columns": [ - "hostname" - ], - "nullsNotDistinct": false, - "name": "sites_hostname_key", - "schema": "public", - "table": "sites", - "entityType": "uniques" - }, - { - "nameExplicit": false, - "columns": [ - "email" - ], - "nullsNotDistinct": false, - "name": "users_email_key", - "schema": "public", - "table": "users", - "entityType": "uniques" - } - ], - "renames": [] -} \ No newline at end of file diff --git a/backend/db/migrations/20260801001047_main/migration.sql b/backend/db/migrations/20260801001047_main/migration.sql deleted file mode 100644 index 8e09190a2..000000000 --- a/backend/db/migrations/20260801001047_main/migration.sql +++ /dev/null @@ -1,13 +0,0 @@ -CREATE TABLE "approvalRules" ( - "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(), - "match" varchar(16) DEFAULT 'START' NOT NULL, - "path" varchar(2048) DEFAULT '' NOT NULL, - "submitterGroups" jsonb DEFAULT '[]' NOT NULL, - "reviewerGroups" jsonb DEFAULT '[]' NOT NULL, - "createdAt" timestamp DEFAULT now() NOT NULL, - "updatedAt" timestamp DEFAULT now() NOT NULL, - "siteId" uuid NOT NULL -); ---> statement-breakpoint -CREATE INDEX "approvalRules_siteId_idx" ON "approvalRules" ("siteId");--> statement-breakpoint -ALTER TABLE "approvalRules" ADD CONSTRAINT "approvalRules_siteId_sites_id_fkey" FOREIGN KEY ("siteId") REFERENCES "sites"("id"); \ No newline at end of file diff --git a/backend/db/migrations/20260801001047_main/snapshot.json b/backend/db/migrations/20260801001047_main/snapshot.json deleted file mode 100644 index 18a960950..000000000 --- a/backend/db/migrations/20260801001047_main/snapshot.json +++ /dev/null @@ -1,4546 +0,0 @@ -{ - "version": "8", - "dialect": "postgres", - "id": "3e45a3c7-bee5-4445-b037-6530afbdb428", - "prevIds": [ - "8df793cb-b12b-48d1-9a51-6b07f814e6b4" - ], - "ddl": [ - { - "values": [ - "document", - "image", - "other" - ], - "name": "assetKind", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "pending", - "success", - "error" - ], - "name": "hookState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "active", - "completed", - "failed", - "interrupted" - ], - "name": "jobHistoryState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "draft", - "published", - "scheduled" - ], - "name": "pagePublishState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "inherit", - "override", - "overrideExact", - "hide", - "hideExact" - ], - "name": "treeNavigationMode", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "folder", - "page", - "asset" - ], - "name": "treeType", - "entityType": "enums", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "apiKeys", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "approvalRules", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "assets", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "authentication", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "blocks", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "groups", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "hooks", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "iconSets", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "icons", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobHistory", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobLock", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobSchedule", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobs", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "locales", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "navigation", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "pages", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "sessions", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "settings", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "sites", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "storage", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "tags", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "tree", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userAvatars", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userGroups", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userKeys", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "users", - "entityType": "tables", - "schema": "public" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "varchar(8)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "keyShort", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "groups", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "expiration", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isRevoked", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "varchar(16)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'START'", - "generated": null, - "identity": null, - "name": "match", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "varchar(2048)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "path", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "submitterGroups", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "reviewerGroups", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileName", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileExt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "assetKind", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'other'", - "generated": null, - "identity": null, - "name": "kind", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'application/octet-stream'", - "generated": null, - "identity": null, - "name": "mimeType", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bigint", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileSize", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "preview", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "storageInfo", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authorId", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "module", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "displayName", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "registration", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "allowedEmailRegex", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 1, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "autoEnrollGroups", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "block", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "description", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "icon", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isCustom", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "permissions", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "rules", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnLogin", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnFirstLogin", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnLogout", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "events", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "url", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "includeMetadata", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "includeContent", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "acceptUntrusted", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authHeader", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "hookState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'pending'", - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastErrorMessage", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "varchar(64)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "prefix", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "info", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "refreshedAt", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "varchar(64)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "prefix", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "body", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "16", - "generated": null, - "identity": null, - "name": "width", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "16", - "generated": null, - "identity": null, - "name": "height", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "left", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "top", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "rotate", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "hFlip", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "vFlip", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "jobHistoryState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "useWorker", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "wasScheduled", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "1", - "generated": null, - "identity": null, - "name": "attempt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "maxRetries", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastErrorMessage", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "executedBy", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "startedAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "completedAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastCheckedBy", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "lastCheckedAt", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "cron", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'system'", - "generated": null, - "identity": null, - "name": "type", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "useWorker", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "retries", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "maxRetries", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "waitUntil", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isScheduled", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "createdBy", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "code", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "nativeName", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(8)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "language", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(3)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "region", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(4)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "script", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isRTL", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "strings", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "completeness", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "items", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "locale", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "path", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hash", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "alias", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "title", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "description", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "icon", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "pagePublishState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'draft'", - "generated": null, - "identity": null, - "name": "publishState", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "publishStartDate", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "publishEndDate", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "relations", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "content", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "render", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "searchContent", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "tsvector", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "ts", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "tags", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "toc", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "editor", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "contentType", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isBrowsable", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isSearchable", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": { - "as": "\"pages\".\"publishState\" != 'draft' AND \"pages\".\"isSearchable\"", - "type": "stored" - }, - "identity": null, - "name": "isSearchableComputed", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "password", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "ratingScore", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "ratingCount", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "scripts", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "historyData", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authorId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "creatorId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "ownerId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "settings" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "value", - "entityType": "columns", - "schema": "public", - "table": "settings" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hostname", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "module", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "contentTypes", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "assetDelivery", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "versioning", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "tag", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "usageCount", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "folderPath", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileName", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hash", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "treeType", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "tree", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "locale", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "title", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "treeNavigationMode", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'inherit'", - "generated": null, - "identity": null, - "name": "navigationMode", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "navigationId", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "tags", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "userAvatars" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "userAvatars" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "userGroups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "groupId", - "entityType": "columns", - "schema": "public", - "table": "userGroups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "kind", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "token", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "validUntil", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "email", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "auth", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "passkeys", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "prefs", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "hasAvatar", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isActive", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isVerified", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastLoginAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "approvalRules_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "approvalRules" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "assets_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "blocks_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "blocks" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "language", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "locales_language_idx", - "entityType": "indexes", - "schema": "public", - "table": "locales" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "navigation_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "navigation" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "authorId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_authorId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "creatorId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_creatorId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "ownerId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_ownerId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "ts", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "pages_ts_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tags", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "pages_tags_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "isSearchableComputed", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_isSearchableComputed_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "sessions_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "sessions" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "module", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": true, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "storage_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "storage" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tags_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "tag", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": true, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tags_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "folderPath", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_folderpath_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "folderPath", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gist", - "concurrently": false, - "name": "tree_folderpath_gist_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "fileName", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_fileName_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "hash", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_hash_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tree", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_type_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "locale", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gist", - "concurrently": false, - "name": "tree_locale_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "navigationMode", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_navigationMode_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "navigationId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_navigationId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tags", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "tree_tags_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "groupId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_groupId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "groupId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userKeys_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userKeys" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "lastLoginAt", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "users_lastLoginAt_idx", - "entityType": "indexes", - "schema": "public", - "table": "users" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "approvalRules_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "approvalRules" - }, - { - "nameExplicit": false, - "columns": [ - "authorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "assets_authorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "assets_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "blocks_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "blocks" - }, - { - "nameExplicit": false, - "columns": [ - "prefix" - ], - "schemaTo": "public", - "tableTo": "iconSets", - "columnsTo": [ - "prefix" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "icons_prefix_iconSets_prefix_fkey", - "entityType": "fks", - "schema": "public", - "table": "icons" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "navigation_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "navigation" - }, - { - "nameExplicit": false, - "columns": [ - "authorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_authorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "creatorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_creatorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "ownerId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_ownerId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "sessions_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "sessions" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "storage_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "storage" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "tags_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "tree_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "CASCADE", - "name": "userGroups_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": false, - "columns": [ - "groupId" - ], - "schemaTo": "public", - "tableTo": "groups", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "CASCADE", - "name": "userGroups_groupId_groups_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "userKeys_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userKeys" - }, - { - "columns": [ - "prefix", - "name" - ], - "nameExplicit": false, - "name": "icons_pkey", - "entityType": "pks", - "schema": "public", - "table": "icons" - }, - { - "columns": [ - "userId", - "groupId" - ], - "nameExplicit": false, - "name": "userGroups_pkey", - "entityType": "pks", - "schema": "public", - "table": "userGroups" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "apiKeys_pkey", - "schema": "public", - "table": "apiKeys", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "approvalRules_pkey", - "schema": "public", - "table": "approvalRules", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "assets_pkey", - "schema": "public", - "table": "assets", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "authentication_pkey", - "schema": "public", - "table": "authentication", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "blocks_pkey", - "schema": "public", - "table": "blocks", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "groups_pkey", - "schema": "public", - "table": "groups", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "hooks_pkey", - "schema": "public", - "table": "hooks", - "entityType": "pks" - }, - { - "columns": [ - "prefix" - ], - "nameExplicit": false, - "name": "iconSets_pkey", - "schema": "public", - "table": "iconSets", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobHistory_pkey", - "schema": "public", - "table": "jobHistory", - "entityType": "pks" - }, - { - "columns": [ - "key" - ], - "nameExplicit": false, - "name": "jobLock_pkey", - "schema": "public", - "table": "jobLock", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobSchedule_pkey", - "schema": "public", - "table": "jobSchedule", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobs_pkey", - "schema": "public", - "table": "jobs", - "entityType": "pks" - }, - { - "columns": [ - "code" - ], - "nameExplicit": false, - "name": "locales_pkey", - "schema": "public", - "table": "locales", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "navigation_pkey", - "schema": "public", - "table": "navigation", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "pages_pkey", - "schema": "public", - "table": "pages", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "sessions_pkey", - "schema": "public", - "table": "sessions", - "entityType": "pks" - }, - { - "columns": [ - "key" - ], - "nameExplicit": false, - "name": "settings_pkey", - "schema": "public", - "table": "settings", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "sites_pkey", - "schema": "public", - "table": "sites", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "storage_pkey", - "schema": "public", - "table": "storage", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "tags_pkey", - "schema": "public", - "table": "tags", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "tree_pkey", - "schema": "public", - "table": "tree", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "userAvatars_pkey", - "schema": "public", - "table": "userAvatars", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "userKeys_pkey", - "schema": "public", - "table": "userKeys", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "users_pkey", - "schema": "public", - "table": "users", - "entityType": "pks" - }, - { - "nameExplicit": false, - "columns": [ - "hostname" - ], - "nullsNotDistinct": false, - "name": "sites_hostname_key", - "schema": "public", - "table": "sites", - "entityType": "uniques" - }, - { - "nameExplicit": false, - "columns": [ - "email" - ], - "nullsNotDistinct": false, - "name": "users_email_key", - "schema": "public", - "table": "users", - "entityType": "uniques" - } - ], - "renames": [] -} \ No newline at end of file diff --git a/backend/db/migrations/20260801002219_main/migration.sql b/backend/db/migrations/20260801002219_main/migration.sql deleted file mode 100644 index 877ba5c12..000000000 --- a/backend/db/migrations/20260801002219_main/migration.sql +++ /dev/null @@ -1,2 +0,0 @@ -ALTER TABLE "approvalRules" ADD COLUMN "name" varchar(255) DEFAULT '' NOT NULL;--> statement-breakpoint -ALTER TABLE "approvalRules" ADD COLUMN "isEnabled" boolean DEFAULT true NOT NULL; \ No newline at end of file diff --git a/backend/db/migrations/20260801002219_main/snapshot.json b/backend/db/migrations/20260801002219_main/snapshot.json deleted file mode 100644 index 5783e664a..000000000 --- a/backend/db/migrations/20260801002219_main/snapshot.json +++ /dev/null @@ -1,4572 +0,0 @@ -{ - "version": "8", - "dialect": "postgres", - "id": "4e4a4dd7-9063-4670-be73-827568fc28e3", - "prevIds": [ - "3e45a3c7-bee5-4445-b037-6530afbdb428" - ], - "ddl": [ - { - "values": [ - "document", - "image", - "other" - ], - "name": "assetKind", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "pending", - "success", - "error" - ], - "name": "hookState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "active", - "completed", - "failed", - "interrupted" - ], - "name": "jobHistoryState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "draft", - "published", - "scheduled" - ], - "name": "pagePublishState", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "inherit", - "override", - "overrideExact", - "hide", - "hideExact" - ], - "name": "treeNavigationMode", - "entityType": "enums", - "schema": "public" - }, - { - "values": [ - "folder", - "page", - "asset" - ], - "name": "treeType", - "entityType": "enums", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "apiKeys", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "approvalRules", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "assets", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "authentication", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "blocks", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "groups", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "hooks", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "iconSets", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "icons", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobHistory", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobLock", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobSchedule", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "jobs", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "locales", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "navigation", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "pages", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "sessions", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "settings", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "sites", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "storage", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "tags", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "tree", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userAvatars", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userGroups", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "userKeys", - "entityType": "tables", - "schema": "public" - }, - { - "isRlsEnabled": false, - "name": "users", - "entityType": "tables", - "schema": "public" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "varchar(8)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "keyShort", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "groups", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "expiration", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isRevoked", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "apiKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "varchar(16)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'START'", - "generated": null, - "identity": null, - "name": "match", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "varchar(2048)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "path", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "submitterGroups", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "reviewerGroups", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "approvalRules" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileName", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileExt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "assetKind", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'other'", - "generated": null, - "identity": null, - "name": "kind", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'application/octet-stream'", - "generated": null, - "identity": null, - "name": "mimeType", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bigint", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileSize", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "preview", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "storageInfo", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authorId", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "assets" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "module", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "displayName", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "registration", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "allowedEmailRegex", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 1, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "autoEnrollGroups", - "entityType": "columns", - "schema": "public", - "table": "authentication" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "block", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "description", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "icon", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isCustom", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "blocks" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "permissions", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "rules", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnLogin", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnFirstLogin", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "''", - "generated": null, - "identity": null, - "name": "redirectOnLogout", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "groups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "events", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "url", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "includeMetadata", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "includeContent", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "acceptUntrusted", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authHeader", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "hookState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'pending'", - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastErrorMessage", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "hooks" - }, - { - "type": "varchar(64)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "prefix", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "info", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "refreshedAt", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "iconSets" - }, - { - "type": "varchar(64)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "prefix", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "body", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "16", - "generated": null, - "identity": null, - "name": "width", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "16", - "generated": null, - "identity": null, - "name": "height", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "left", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "top", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "rotate", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "hFlip", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "vFlip", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "icons" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "jobHistoryState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "useWorker", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "wasScheduled", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "1", - "generated": null, - "identity": null, - "name": "attempt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "maxRetries", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastErrorMessage", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "executedBy", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "startedAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "completedAt", - "entityType": "columns", - "schema": "public", - "table": "jobHistory" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastCheckedBy", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "lastCheckedAt", - "entityType": "columns", - "schema": "public", - "table": "jobLock" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "cron", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'system'", - "generated": null, - "identity": null, - "name": "type", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "jobSchedule" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "task", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "useWorker", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "payload", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "retries", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "maxRetries", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "waitUntil", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isScheduled", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "createdBy", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "jobs" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "code", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "nativeName", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(8)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "language", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(3)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "region", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "varchar(4)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "script", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isRTL", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "strings", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "completeness", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "locales" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "items", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "navigation" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "locale", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "path", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hash", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "alias", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "title", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "description", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "icon", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "pagePublishState", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'draft'", - "generated": null, - "identity": null, - "name": "publishState", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "publishStartDate", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "publishEndDate", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'[]'", - "generated": null, - "identity": null, - "name": "relations", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "content", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "render", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "searchContent", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "tsvector", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "ts", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "tags", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "toc", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "editor", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "contentType", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isBrowsable", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "true", - "generated": null, - "identity": null, - "name": "isSearchable", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": { - "as": "\"pages\".\"publishState\" != 'draft' AND \"pages\".\"isSearchable\"", - "type": "stored" - }, - "identity": null, - "name": "isSearchableComputed", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "password", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "ratingScore", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "ratingCount", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "scripts", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "historyData", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "authorId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "creatorId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "ownerId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "pages" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "sessions" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "key", - "entityType": "columns", - "schema": "public", - "table": "settings" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "value", - "entityType": "columns", - "schema": "public", - "table": "settings" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hostname", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "sites" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "module", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isEnabled", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "contentTypes", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "assetDelivery", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "versioning", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "config", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "state", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "storage" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "tag", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "integer", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "0", - "generated": null, - "identity": null, - "name": "usageCount", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "tags" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "folderPath", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "fileName", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "hash", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "treeType", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "tree", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "ltree", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "locale", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "title", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "treeNavigationMode", - "typeSchema": "public", - "notNull": true, - "dimensions": 0, - "default": "'inherit'", - "generated": null, - "identity": null, - "name": "navigationMode", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "navigationId", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "text", - "typeSchema": null, - "notNull": true, - "dimensions": 1, - "default": "ARRAY[]", - "generated": null, - "identity": null, - "name": "tags", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "siteId", - "entityType": "columns", - "schema": "public", - "table": "tree" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "userAvatars" - }, - { - "type": "bytea", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "data", - "entityType": "columns", - "schema": "public", - "table": "userAvatars" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "userGroups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "groupId", - "entityType": "columns", - "schema": "public", - "table": "userGroups" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "kind", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "token", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "validUntil", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "userId", - "entityType": "columns", - "schema": "public", - "table": "userKeys" - }, - { - "type": "uuid", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "gen_random_uuid()", - "generated": null, - "identity": null, - "name": "id", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "email", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "varchar(255)", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "name", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "auth", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "meta", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "passkeys", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "jsonb", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "'{}'", - "generated": null, - "identity": null, - "name": "prefs", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "hasAvatar", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isActive", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isSystem", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "boolean", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "false", - "generated": null, - "identity": null, - "name": "isVerified", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": false, - "dimensions": 0, - "default": null, - "generated": null, - "identity": null, - "name": "lastLoginAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "createdAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "type": "timestamp", - "typeSchema": null, - "notNull": true, - "dimensions": 0, - "default": "now()", - "generated": null, - "identity": null, - "name": "updatedAt", - "entityType": "columns", - "schema": "public", - "table": "users" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "approvalRules_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "approvalRules" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "assets_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "blocks_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "blocks" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "language", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "locales_language_idx", - "entityType": "indexes", - "schema": "public", - "table": "locales" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "navigation_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "navigation" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "authorId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_authorId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "creatorId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_creatorId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "ownerId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_ownerId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "ts", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "pages_ts_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tags", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "pages_tags_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "isSearchableComputed", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "pages_isSearchableComputed_idx", - "entityType": "indexes", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "sessions_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "sessions" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "module", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": true, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "storage_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "storage" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tags_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "tag", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": true, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tags_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "folderPath", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_folderpath_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "folderPath", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gist", - "concurrently": false, - "name": "tree_folderpath_gist_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "fileName", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_fileName_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "hash", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_hash_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tree", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_type_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "locale", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gist", - "concurrently": false, - "name": "tree_locale_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "navigationMode", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_navigationMode_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "navigationId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_navigationId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "tags", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "gin", - "concurrently": false, - "name": "tree_tags_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "siteId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "tree_siteId_idx", - "entityType": "indexes", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "groupId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_groupId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - }, - { - "value": "groupId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userGroups_composite_idx", - "entityType": "indexes", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "userId", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "userKeys_userId_idx", - "entityType": "indexes", - "schema": "public", - "table": "userKeys" - }, - { - "nameExplicit": true, - "columns": [ - { - "value": "lastLoginAt", - "isExpression": false, - "asc": true, - "nullsFirst": false, - "opclass": null - } - ], - "isUnique": false, - "where": null, - "with": "", - "method": "btree", - "concurrently": false, - "name": "users_lastLoginAt_idx", - "entityType": "indexes", - "schema": "public", - "table": "users" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "approvalRules_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "approvalRules" - }, - { - "nameExplicit": false, - "columns": [ - "authorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "assets_authorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "assets_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "assets" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "blocks_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "blocks" - }, - { - "nameExplicit": false, - "columns": [ - "prefix" - ], - "schemaTo": "public", - "tableTo": "iconSets", - "columnsTo": [ - "prefix" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "icons_prefix_iconSets_prefix_fkey", - "entityType": "fks", - "schema": "public", - "table": "icons" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "navigation_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "navigation" - }, - { - "nameExplicit": false, - "columns": [ - "authorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_authorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "creatorId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_creatorId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "ownerId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_ownerId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "pages_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "pages" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "sessions_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "sessions" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "storage_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "storage" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "tags_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "tags" - }, - { - "nameExplicit": false, - "columns": [ - "siteId" - ], - "schemaTo": "public", - "tableTo": "sites", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "tree_siteId_sites_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "tree" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "CASCADE", - "name": "userGroups_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": false, - "columns": [ - "groupId" - ], - "schemaTo": "public", - "tableTo": "groups", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "CASCADE", - "name": "userGroups_groupId_groups_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userGroups" - }, - { - "nameExplicit": false, - "columns": [ - "userId" - ], - "schemaTo": "public", - "tableTo": "users", - "columnsTo": [ - "id" - ], - "onUpdate": "NO ACTION", - "onDelete": "NO ACTION", - "name": "userKeys_userId_users_id_fkey", - "entityType": "fks", - "schema": "public", - "table": "userKeys" - }, - { - "columns": [ - "prefix", - "name" - ], - "nameExplicit": false, - "name": "icons_pkey", - "entityType": "pks", - "schema": "public", - "table": "icons" - }, - { - "columns": [ - "userId", - "groupId" - ], - "nameExplicit": false, - "name": "userGroups_pkey", - "entityType": "pks", - "schema": "public", - "table": "userGroups" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "apiKeys_pkey", - "schema": "public", - "table": "apiKeys", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "approvalRules_pkey", - "schema": "public", - "table": "approvalRules", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "assets_pkey", - "schema": "public", - "table": "assets", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "authentication_pkey", - "schema": "public", - "table": "authentication", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "blocks_pkey", - "schema": "public", - "table": "blocks", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "groups_pkey", - "schema": "public", - "table": "groups", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "hooks_pkey", - "schema": "public", - "table": "hooks", - "entityType": "pks" - }, - { - "columns": [ - "prefix" - ], - "nameExplicit": false, - "name": "iconSets_pkey", - "schema": "public", - "table": "iconSets", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobHistory_pkey", - "schema": "public", - "table": "jobHistory", - "entityType": "pks" - }, - { - "columns": [ - "key" - ], - "nameExplicit": false, - "name": "jobLock_pkey", - "schema": "public", - "table": "jobLock", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobSchedule_pkey", - "schema": "public", - "table": "jobSchedule", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "jobs_pkey", - "schema": "public", - "table": "jobs", - "entityType": "pks" - }, - { - "columns": [ - "code" - ], - "nameExplicit": false, - "name": "locales_pkey", - "schema": "public", - "table": "locales", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "navigation_pkey", - "schema": "public", - "table": "navigation", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "pages_pkey", - "schema": "public", - "table": "pages", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "sessions_pkey", - "schema": "public", - "table": "sessions", - "entityType": "pks" - }, - { - "columns": [ - "key" - ], - "nameExplicit": false, - "name": "settings_pkey", - "schema": "public", - "table": "settings", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "sites_pkey", - "schema": "public", - "table": "sites", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "storage_pkey", - "schema": "public", - "table": "storage", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "tags_pkey", - "schema": "public", - "table": "tags", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "tree_pkey", - "schema": "public", - "table": "tree", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "userAvatars_pkey", - "schema": "public", - "table": "userAvatars", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "userKeys_pkey", - "schema": "public", - "table": "userKeys", - "entityType": "pks" - }, - { - "columns": [ - "id" - ], - "nameExplicit": false, - "name": "users_pkey", - "schema": "public", - "table": "users", - "entityType": "pks" - }, - { - "nameExplicit": false, - "columns": [ - "hostname" - ], - "nullsNotDistinct": false, - "name": "sites_hostname_key", - "schema": "public", - "table": "sites", - "entityType": "uniques" - }, - { - "nameExplicit": false, - "columns": [ - "email" - ], - "nullsNotDistinct": false, - "name": "users_email_key", - "schema": "public", - "table": "users", - "entityType": "uniques" - } - ], - "renames": [] -} \ No newline at end of file diff --git a/backend/db/migrations/20260801005556_main/migration.sql b/backend/db/migrations/20260801005556_main/migration.sql deleted file mode 100644 index 6c8e1d37e..000000000 --- a/backend/db/migrations/20260801005556_main/migration.sql +++ /dev/null @@ -1,21 +0,0 @@ -CREATE TABLE "pageEditSubmissions" ( - "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(), - "content" text NOT NULL, - "patch" text NOT NULL, - "baseHash" varchar(64) NOT NULL, - "guestName" varchar(255), - "guestEmail" varchar(255), - "createdAt" timestamp DEFAULT now() NOT NULL, - "updatedAt" timestamp DEFAULT now() NOT NULL, - "pageId" uuid NOT NULL, - "siteId" uuid NOT NULL, - "authorId" uuid -); ---> statement-breakpoint -CREATE INDEX "pageEditSubmissions_pageId_idx" ON "pageEditSubmissions" ("pageId");--> statement-breakpoint -CREATE INDEX "pageEditSubmissions_siteId_idx" ON "pageEditSubmissions" ("siteId");--> statement-breakpoint -CREATE INDEX "pageEditSubmissions_authorId_idx" ON "pageEditSubmissions" ("authorId");--> statement-breakpoint -CREATE UNIQUE INDEX "pageEditSubmissions_page_author_idx" ON "pageEditSubmissions" ("pageId","authorId") WHERE "authorId" IS NOT NULL;--> statement-breakpoint -ALTER TABLE "pageEditSubmissions" ADD CONSTRAINT "pageEditSubmissions_pageId_pages_id_fkey" FOREIGN KEY ("pageId") REFERENCES "pages"("id") ON DELETE CASCADE;--> statement-breakpoint -ALTER TABLE "pageEditSubmissions" ADD CONSTRAINT "pageEditSubmissions_siteId_sites_id_fkey" FOREIGN KEY ("siteId") REFERENCES "sites"("id");--> statement-breakpoint -ALTER TABLE "pageEditSubmissions" ADD CONSTRAINT "pageEditSubmissions_authorId_users_id_fkey" FOREIGN KEY ("authorId") REFERENCES "users"("id"); \ No newline at end of file diff --git a/backend/db/migrations/20260330022921_main/migration.sql b/backend/db/migrations/20260801052628_init/migration.sql similarity index 69% rename from backend/db/migrations/20260330022921_main/migration.sql rename to backend/db/migrations/20260801052628_init/migration.sql index 0fa568c94..6afc46824 100644 --- a/backend/db/migrations/20260330022921_main/migration.sql +++ b/backend/db/migrations/20260801052628_init/migration.sql @@ -1,4 +1,5 @@ CREATE TYPE "assetKind" AS ENUM('document', 'image', 'other');--> statement-breakpoint +CREATE TYPE "hookState" AS ENUM('pending', 'success', 'error');--> statement-breakpoint CREATE TYPE "jobHistoryState" AS ENUM('active', 'completed', 'failed', 'interrupted');--> statement-breakpoint CREATE TYPE "pagePublishState" AS ENUM('draft', 'published', 'scheduled');--> statement-breakpoint CREATE TYPE "treeNavigationMode" AS ENUM('inherit', 'override', 'overrideExact', 'hide', 'hideExact');--> statement-breakpoint @@ -6,13 +7,27 @@ CREATE TYPE "treeType" AS ENUM('folder', 'page', 'asset');--> statement-breakpoi CREATE TABLE "apiKeys" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(), "name" varchar(255) NOT NULL, - "key" text NOT NULL, + "keyShort" varchar(8) NOT NULL, + "groups" jsonb DEFAULT '[]' NOT NULL, "expiration" timestamp DEFAULT now() NOT NULL, "isRevoked" boolean DEFAULT false NOT NULL, "createdAt" timestamp DEFAULT now() NOT NULL, "updatedAt" timestamp DEFAULT now() NOT NULL ); --> statement-breakpoint +CREATE TABLE "approvalRules" ( + "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(), + "name" varchar(255) DEFAULT '' NOT NULL, + "isEnabled" boolean DEFAULT true NOT NULL, + "match" varchar(16) DEFAULT 'START' NOT NULL, + "path" varchar(2048) DEFAULT '' NOT NULL, + "submitterGroups" jsonb DEFAULT '[]' NOT NULL, + "reviewerGroups" jsonb DEFAULT '[]' NOT NULL, + "createdAt" timestamp DEFAULT now() NOT NULL, + "updatedAt" timestamp DEFAULT now() NOT NULL, + "siteId" uuid NOT NULL +); +--> statement-breakpoint CREATE TABLE "assets" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(), "fileName" varchar(255) NOT NULL, @@ -67,6 +82,45 @@ CREATE TABLE "groups" ( "updatedAt" timestamp DEFAULT now() NOT NULL ); --> statement-breakpoint +CREATE TABLE "hooks" ( + "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(), + "name" varchar(255) NOT NULL, + "events" text[] DEFAULT ARRAY[]::text[] NOT NULL, + "url" text NOT NULL, + "includeMetadata" boolean DEFAULT true NOT NULL, + "includeContent" boolean DEFAULT false NOT NULL, + "acceptUntrusted" boolean DEFAULT false NOT NULL, + "authHeader" text, + "state" "hookState" DEFAULT 'pending'::"hookState" NOT NULL, + "lastErrorMessage" text, + "createdAt" timestamp DEFAULT now() NOT NULL, + "updatedAt" timestamp DEFAULT now() NOT NULL +); +--> statement-breakpoint +CREATE TABLE "iconSets" ( + "prefix" varchar(64) PRIMARY KEY, + "name" varchar(255) NOT NULL, + "isEnabled" boolean DEFAULT true NOT NULL, + "info" jsonb DEFAULT '{}' NOT NULL, + "refreshedAt" timestamp, + "createdAt" timestamp DEFAULT now() NOT NULL +); +--> statement-breakpoint +CREATE TABLE "icons" ( + "prefix" varchar(64), + "name" varchar(255), + "body" text NOT NULL, + "width" integer DEFAULT 16 NOT NULL, + "height" integer DEFAULT 16 NOT NULL, + "left" integer DEFAULT 0 NOT NULL, + "top" integer DEFAULT 0 NOT NULL, + "rotate" integer DEFAULT 0 NOT NULL, + "hFlip" boolean DEFAULT false NOT NULL, + "vFlip" boolean DEFAULT false NOT NULL, + "createdAt" timestamp DEFAULT now() NOT NULL, + CONSTRAINT "icons_pkey" PRIMARY KEY("prefix","name") +); +--> statement-breakpoint CREATE TABLE "jobHistory" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(), "task" varchar(255) NOT NULL, @@ -133,9 +187,38 @@ CREATE TABLE "navigation" ( "siteId" uuid NOT NULL ); --> statement-breakpoint +CREATE TABLE "pageEditSubmissions" ( + "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(), + "content" text NOT NULL, + "patch" text NOT NULL, + "baseHash" varchar(64) NOT NULL, + "guestName" varchar(255), + "guestEmail" varchar(255), + "createdAt" timestamp DEFAULT now() NOT NULL, + "updatedAt" timestamp DEFAULT now() NOT NULL, + "pageId" uuid NOT NULL, + "siteId" uuid NOT NULL, + "authorId" uuid +); +--> statement-breakpoint +CREATE TABLE "pageHistory" ( + "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(), + "pageId" uuid NOT NULL, + "action" varchar(16) DEFAULT 'updated' NOT NULL, + "changedFields" text[] DEFAULT ARRAY[]::text[] NOT NULL, + "locale" varchar(255) NOT NULL, + "path" varchar(255) NOT NULL, + "title" varchar(255) NOT NULL, + "content" text, + "meta" jsonb DEFAULT '{}' NOT NULL, + "versionDate" timestamp DEFAULT now() NOT NULL, + "authorId" uuid, + "siteId" uuid NOT NULL +); +--> statement-breakpoint CREATE TABLE "pages" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(), - "locale" ltree NOT NULL, + "locale" varchar(255) NOT NULL, "path" varchar(255) NOT NULL, "hash" varchar(255) NOT NULL, "alias" varchar(255), @@ -192,6 +275,18 @@ CREATE TABLE "sites" ( "createdAt" timestamp DEFAULT now() NOT NULL ); --> statement-breakpoint +CREATE TABLE "storage" ( + "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(), + "module" varchar(255) NOT NULL, + "isEnabled" boolean DEFAULT false NOT NULL, + "contentTypes" jsonb DEFAULT '{}' NOT NULL, + "assetDelivery" jsonb DEFAULT '{}' NOT NULL, + "versioning" jsonb DEFAULT '{}' NOT NULL, + "config" jsonb DEFAULT '{}' NOT NULL, + "state" jsonb DEFAULT '{}' NOT NULL, + "siteId" uuid NOT NULL +); +--> statement-breakpoint CREATE TABLE "tags" ( "id" uuid PRIMARY KEY DEFAULT gen_random_uuid(), "tag" varchar(255) NOT NULL, @@ -207,7 +302,7 @@ CREATE TABLE "tree" ( "fileName" varchar(255) NOT NULL, "hash" varchar(255) NOT NULL, "tree" "treeType" NOT NULL, - "locale" ltree NOT NULL, + "locale" varchar(255) NOT NULL, "title" varchar(255) NOT NULL, "navigationMode" "treeNavigationMode" DEFAULT 'inherit'::"treeNavigationMode" NOT NULL, "navigationId" uuid, @@ -256,10 +351,18 @@ CREATE TABLE "users" ( "updatedAt" timestamp DEFAULT now() NOT NULL ); --> statement-breakpoint +CREATE INDEX "approvalRules_siteId_idx" ON "approvalRules" ("siteId");--> statement-breakpoint CREATE INDEX "assets_siteId_idx" ON "assets" ("siteId");--> statement-breakpoint CREATE INDEX "blocks_siteId_idx" ON "blocks" ("siteId");--> statement-breakpoint CREATE INDEX "locales_language_idx" ON "locales" ("language");--> statement-breakpoint CREATE INDEX "navigation_siteId_idx" ON "navigation" ("siteId");--> statement-breakpoint +CREATE INDEX "pageEditSubmissions_pageId_idx" ON "pageEditSubmissions" ("pageId");--> statement-breakpoint +CREATE INDEX "pageEditSubmissions_siteId_idx" ON "pageEditSubmissions" ("siteId");--> statement-breakpoint +CREATE INDEX "pageEditSubmissions_authorId_idx" ON "pageEditSubmissions" ("authorId");--> statement-breakpoint +CREATE UNIQUE INDEX "pageEditSubmissions_page_author_idx" ON "pageEditSubmissions" ("pageId","authorId") WHERE "authorId" IS NOT NULL;--> statement-breakpoint +CREATE INDEX "pageHistory_pageId_idx" ON "pageHistory" ("pageId","versionDate");--> statement-breakpoint +CREATE INDEX "pageHistory_siteId_idx" ON "pageHistory" ("siteId","locale","path","versionDate");--> statement-breakpoint +CREATE INDEX "pageHistory_authorId_idx" ON "pageHistory" ("authorId");--> statement-breakpoint CREATE INDEX "pages_authorId_idx" ON "pages" ("authorId");--> statement-breakpoint CREATE INDEX "pages_creatorId_idx" ON "pages" ("creatorId");--> statement-breakpoint CREATE INDEX "pages_ownerId_idx" ON "pages" ("ownerId");--> statement-breakpoint @@ -268,6 +371,7 @@ CREATE INDEX "pages_ts_idx" ON "pages" USING gin ("ts");--> statement-breakpoint CREATE INDEX "pages_tags_idx" ON "pages" USING gin ("tags");--> statement-breakpoint CREATE INDEX "pages_isSearchableComputed_idx" ON "pages" ("isSearchableComputed");--> statement-breakpoint CREATE INDEX "sessions_userId_idx" ON "sessions" ("userId");--> statement-breakpoint +CREATE UNIQUE INDEX "storage_composite_idx" ON "storage" ("siteId","module");--> statement-breakpoint CREATE INDEX "tags_siteId_idx" ON "tags" ("siteId");--> statement-breakpoint CREATE UNIQUE INDEX "tags_composite_idx" ON "tags" ("siteId","tag");--> statement-breakpoint CREATE INDEX "tree_folderpath_idx" ON "tree" ("folderPath");--> statement-breakpoint @@ -275,7 +379,7 @@ CREATE INDEX "tree_folderpath_gist_idx" ON "tree" USING gist ("folderPath");--> CREATE INDEX "tree_fileName_idx" ON "tree" ("fileName");--> statement-breakpoint CREATE INDEX "tree_hash_idx" ON "tree" ("hash");--> statement-breakpoint CREATE INDEX "tree_type_idx" ON "tree" ("tree");--> statement-breakpoint -CREATE INDEX "tree_locale_idx" ON "tree" USING gist ("locale");--> statement-breakpoint +CREATE INDEX "tree_locale_idx" ON "tree" ("locale");--> statement-breakpoint CREATE INDEX "tree_navigationMode_idx" ON "tree" ("navigationMode");--> statement-breakpoint CREATE INDEX "tree_navigationId_idx" ON "tree" ("navigationId");--> statement-breakpoint CREATE INDEX "tree_tags_idx" ON "tree" USING gin ("tags");--> statement-breakpoint @@ -285,15 +389,23 @@ CREATE INDEX "userGroups_groupId_idx" ON "userGroups" ("groupId");--> statement- CREATE INDEX "userGroups_composite_idx" ON "userGroups" ("userId","groupId");--> statement-breakpoint CREATE INDEX "userKeys_userId_idx" ON "userKeys" ("userId");--> statement-breakpoint CREATE INDEX "users_lastLoginAt_idx" ON "users" ("lastLoginAt");--> statement-breakpoint +ALTER TABLE "approvalRules" ADD CONSTRAINT "approvalRules_siteId_sites_id_fkey" FOREIGN KEY ("siteId") REFERENCES "sites"("id");--> statement-breakpoint ALTER TABLE "assets" ADD CONSTRAINT "assets_authorId_users_id_fkey" FOREIGN KEY ("authorId") REFERENCES "users"("id");--> statement-breakpoint ALTER TABLE "assets" ADD CONSTRAINT "assets_siteId_sites_id_fkey" FOREIGN KEY ("siteId") REFERENCES "sites"("id");--> statement-breakpoint ALTER TABLE "blocks" ADD CONSTRAINT "blocks_siteId_sites_id_fkey" FOREIGN KEY ("siteId") REFERENCES "sites"("id");--> statement-breakpoint +ALTER TABLE "icons" ADD CONSTRAINT "icons_prefix_iconSets_prefix_fkey" FOREIGN KEY ("prefix") REFERENCES "iconSets"("prefix");--> statement-breakpoint ALTER TABLE "navigation" ADD CONSTRAINT "navigation_siteId_sites_id_fkey" FOREIGN KEY ("siteId") REFERENCES "sites"("id");--> statement-breakpoint +ALTER TABLE "pageEditSubmissions" ADD CONSTRAINT "pageEditSubmissions_pageId_pages_id_fkey" FOREIGN KEY ("pageId") REFERENCES "pages"("id") ON DELETE CASCADE;--> statement-breakpoint +ALTER TABLE "pageEditSubmissions" ADD CONSTRAINT "pageEditSubmissions_siteId_sites_id_fkey" FOREIGN KEY ("siteId") REFERENCES "sites"("id");--> statement-breakpoint +ALTER TABLE "pageEditSubmissions" ADD CONSTRAINT "pageEditSubmissions_authorId_users_id_fkey" FOREIGN KEY ("authorId") REFERENCES "users"("id");--> statement-breakpoint +ALTER TABLE "pageHistory" ADD CONSTRAINT "pageHistory_authorId_users_id_fkey" FOREIGN KEY ("authorId") REFERENCES "users"("id") ON DELETE SET NULL;--> statement-breakpoint +ALTER TABLE "pageHistory" ADD CONSTRAINT "pageHistory_siteId_sites_id_fkey" FOREIGN KEY ("siteId") REFERENCES "sites"("id");--> statement-breakpoint ALTER TABLE "pages" ADD CONSTRAINT "pages_authorId_users_id_fkey" FOREIGN KEY ("authorId") REFERENCES "users"("id");--> statement-breakpoint ALTER TABLE "pages" ADD CONSTRAINT "pages_creatorId_users_id_fkey" FOREIGN KEY ("creatorId") REFERENCES "users"("id");--> statement-breakpoint ALTER TABLE "pages" ADD CONSTRAINT "pages_ownerId_users_id_fkey" FOREIGN KEY ("ownerId") REFERENCES "users"("id");--> statement-breakpoint ALTER TABLE "pages" ADD CONSTRAINT "pages_siteId_sites_id_fkey" FOREIGN KEY ("siteId") REFERENCES "sites"("id");--> statement-breakpoint ALTER TABLE "sessions" ADD CONSTRAINT "sessions_userId_users_id_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id");--> statement-breakpoint +ALTER TABLE "storage" ADD CONSTRAINT "storage_siteId_sites_id_fkey" FOREIGN KEY ("siteId") REFERENCES "sites"("id");--> statement-breakpoint ALTER TABLE "tags" ADD CONSTRAINT "tags_siteId_sites_id_fkey" FOREIGN KEY ("siteId") REFERENCES "sites"("id");--> statement-breakpoint ALTER TABLE "tree" ADD CONSTRAINT "tree_siteId_sites_id_fkey" FOREIGN KEY ("siteId") REFERENCES "sites"("id");--> statement-breakpoint ALTER TABLE "userGroups" ADD CONSTRAINT "userGroups_userId_users_id_fkey" FOREIGN KEY ("userId") REFERENCES "users"("id") ON DELETE CASCADE;--> statement-breakpoint diff --git a/backend/db/migrations/20260801005556_main/snapshot.json b/backend/db/migrations/20260801052628_init/snapshot.json similarity index 93% rename from backend/db/migrations/20260801005556_main/snapshot.json rename to backend/db/migrations/20260801052628_init/snapshot.json index f0dd2e253..573f71efb 100644 --- a/backend/db/migrations/20260801005556_main/snapshot.json +++ b/backend/db/migrations/20260801052628_init/snapshot.json @@ -1,9 +1,9 @@ { "version": "8", "dialect": "postgres", - "id": "bb3998ec-7b27-4d34-b3ed-20c6f71a283b", + "id": "9f2b7fea-5303-4a92-802b-bf7fae047462", "prevIds": [ - "4e4a4dd7-9063-4670-be73-827568fc28e3" + "00000000-0000-0000-0000-000000000000" ], "ddl": [ { @@ -165,6 +165,12 @@ "entityType": "tables", "schema": "public" }, + { + "isRlsEnabled": false, + "name": "pageHistory", + "entityType": "tables", + "schema": "public" + }, { "isRlsEnabled": false, "name": "pages", @@ -2155,6 +2161,162 @@ "schema": "public", "table": "pageEditSubmissions" }, + { + "type": "uuid", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "gen_random_uuid()", + "generated": null, + "identity": null, + "name": "id", + "entityType": "columns", + "schema": "public", + "table": "pageHistory" + }, + { + "type": "uuid", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "pageId", + "entityType": "columns", + "schema": "public", + "table": "pageHistory" + }, + { + "type": "varchar(16)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "'updated'", + "generated": null, + "identity": null, + "name": "action", + "entityType": "columns", + "schema": "public", + "table": "pageHistory" + }, + { + "type": "text", + "typeSchema": null, + "notNull": true, + "dimensions": 1, + "default": "ARRAY[]", + "generated": null, + "identity": null, + "name": "changedFields", + "entityType": "columns", + "schema": "public", + "table": "pageHistory" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "locale", + "entityType": "columns", + "schema": "public", + "table": "pageHistory" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "path", + "entityType": "columns", + "schema": "public", + "table": "pageHistory" + }, + { + "type": "varchar(255)", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "title", + "entityType": "columns", + "schema": "public", + "table": "pageHistory" + }, + { + "type": "text", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "content", + "entityType": "columns", + "schema": "public", + "table": "pageHistory" + }, + { + "type": "jsonb", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "'{}'", + "generated": null, + "identity": null, + "name": "meta", + "entityType": "columns", + "schema": "public", + "table": "pageHistory" + }, + { + "type": "timestamp", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": "now()", + "generated": null, + "identity": null, + "name": "versionDate", + "entityType": "columns", + "schema": "public", + "table": "pageHistory" + }, + { + "type": "uuid", + "typeSchema": null, + "notNull": false, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "authorId", + "entityType": "columns", + "schema": "public", + "table": "pageHistory" + }, + { + "type": "uuid", + "typeSchema": null, + "notNull": true, + "dimensions": 0, + "default": null, + "generated": null, + "identity": null, + "name": "siteId", + "entityType": "columns", + "schema": "public", + "table": "pageHistory" + }, { "type": "uuid", "typeSchema": null, @@ -2169,7 +2331,7 @@ "table": "pages" }, { - "type": "ltree", + "type": "varchar(255)", "typeSchema": null, "notNull": true, "dimensions": 0, @@ -3030,7 +3192,7 @@ "table": "tree" }, { - "type": "ltree", + "type": "varchar(255)", "typeSchema": null, "notNull": true, "dimensions": 0, @@ -3667,6 +3829,97 @@ "schema": "public", "table": "pageEditSubmissions" }, + { + "nameExplicit": true, + "columns": [ + { + "value": "pageId", + "isExpression": false, + "asc": true, + "nullsFirst": false, + "opclass": null + }, + { + "value": "versionDate", + "isExpression": false, + "asc": true, + "nullsFirst": false, + "opclass": null + } + ], + "isUnique": false, + "where": null, + "with": "", + "method": "btree", + "concurrently": false, + "name": "pageHistory_pageId_idx", + "entityType": "indexes", + "schema": "public", + "table": "pageHistory" + }, + { + "nameExplicit": true, + "columns": [ + { + "value": "siteId", + "isExpression": false, + "asc": true, + "nullsFirst": false, + "opclass": null + }, + { + "value": "locale", + "isExpression": false, + "asc": true, + "nullsFirst": false, + "opclass": null + }, + { + "value": "path", + "isExpression": false, + "asc": true, + "nullsFirst": false, + "opclass": null + }, + { + "value": "versionDate", + "isExpression": false, + "asc": true, + "nullsFirst": false, + "opclass": null + } + ], + "isUnique": false, + "where": null, + "with": "", + "method": "btree", + "concurrently": false, + "name": "pageHistory_siteId_idx", + "entityType": "indexes", + "schema": "public", + "table": "pageHistory" + }, + { + "nameExplicit": true, + "columns": [ + { + "value": "authorId", + "isExpression": false, + "asc": true, + "nullsFirst": false, + "opclass": null + } + ], + "isUnique": false, + "where": null, + "with": "", + "method": "btree", + "concurrently": false, + "name": "pageHistory_authorId_idx", + "entityType": "indexes", + "schema": "public", + "table": "pageHistory" + }, { "nameExplicit": true, "columns": [ @@ -4031,7 +4284,7 @@ "isUnique": false, "where": null, "with": "", - "method": "gist", + "method": "btree", "concurrently": false, "name": "tree_locale_idx", "entityType": "indexes", @@ -4387,6 +4640,40 @@ "schema": "public", "table": "pageEditSubmissions" }, + { + "nameExplicit": false, + "columns": [ + "authorId" + ], + "schemaTo": "public", + "tableTo": "users", + "columnsTo": [ + "id" + ], + "onUpdate": "NO ACTION", + "onDelete": "SET NULL", + "name": "pageHistory_authorId_users_id_fkey", + "entityType": "fks", + "schema": "public", + "table": "pageHistory" + }, + { + "nameExplicit": false, + "columns": [ + "siteId" + ], + "schemaTo": "public", + "tableTo": "sites", + "columnsTo": [ + "id" + ], + "onUpdate": "NO ACTION", + "onDelete": "NO ACTION", + "name": "pageHistory_siteId_sites_id_fkey", + "entityType": "fks", + "schema": "public", + "table": "pageHistory" + }, { "nameExplicit": false, "columns": [ @@ -4746,6 +5033,16 @@ "table": "pageEditSubmissions", "entityType": "pks" }, + { + "columns": [ + "id" + ], + "nameExplicit": false, + "name": "pageHistory_pkey", + "schema": "public", + "table": "pageHistory", + "entityType": "pks" + }, { "columns": [ "id" diff --git a/backend/db/schema.ts b/backend/db/schema.ts index c27590512..fd70e6281 100644 --- a/backend/db/schema.ts +++ b/backend/db/schema.ts @@ -314,7 +314,10 @@ export const pages = pgTable( 'pages', { id: uuid().primaryKey().defaultRandom(), - locale: ltree('locale').notNull(), + // -> A BCP-47 code, matched only ever for equality. Not `ltree`: a hyphenated code is a single + // label to it, so `'pt-BR'::ltree <@ 'pt'` is false and the type buys no locale-family + // matching -- see the note on `pageHistory.locale`. + locale: varchar({ length: 255 }).notNull(), path: varchar({ length: 255 }).notNull(), hash: varchar({ length: 255 }).notNull(), alias: varchar({ length: 255 }), @@ -375,6 +378,75 @@ export const pages = pgTable( ] ) +// PAGE HISTORY ------------------------ +/** + * One row per change to a page: what it looked like afterwards, who made it, and what kind of change + * it was. + * + * Every row is a complete version rather than a delta, which is what makes the three things this + * exists for straightforward: comparing any two versions, putting a page back to one of them, and + * recovering a page that was deleted. The deletion itself is recorded the same way, carrying the page + * as it stood when it went — that row is the whole of what a recovery needs. + * + * The render is deliberately not kept. It is derived from the content by a pipeline that lives in the + * frontend, and storing a second copy of every page's HTML for every version is a great deal of space + * for something a restore can regenerate. + */ +export const pageHistory = pgTable( + 'pageHistory', + { + id: uuid().primaryKey().defaultRandom(), + // -> Not a foreign key: the history of a deleted page is exactly what recovering it needs, so it + // has to outlive the row it points at + pageId: uuid().notNull(), + /** + * `created`, `updated`, `moved` or `deleted`. A varchar rather than an enum so that naming another + * kind of change later does not need a migration. + */ + action: varchar({ length: 16 }).notNull().default('updated'), + /** Which fields this change touched, so a history list can summarise it without diffing. */ + changedFields: text() + .array() + .notNull() + .default(sql`ARRAY[]::text[]`), + /* + Columns rather than part of `meta` below: a history list shows these for every row, a page that + has moved needs the path it had at the time rather than the one it has now, and looking a history + up by where the page was — the only way in once the page itself is gone — means matching on the + locale and the path together. + + A locale code is BCP-47 with hyphens (`pt-BR`), and every comparison anywhere is an equality + one. `locales.code`, which these values come from, is a varchar too. + */ + locale: varchar({ length: 255 }).notNull(), + path: varchar({ length: 255 }).notNull(), + title: varchar({ length: 255 }).notNull(), + content: text(), + /** + * The rest of the page as it stood: description, icon, tags, publish state and dates, relations, + * scripts, config, editor and content type. Kept whole rather than as columns of its own so that a + * field added to a page does not have to be added here too. + */ + meta: jsonb().notNull().default({}), + versionDate: timestamp().notNull().defaultNow(), + // -> Null once the account is gone, rather than holding the account hostage: a history row is a + // record of what happened to the page, and requiring its author to exist for ever would mean + // that editing a page once made an account undeletable — even after the page itself was gone. + authorId: uuid().references(() => users.id, { onDelete: 'set null' }), + siteId: uuid() + .notNull() + .references(() => sites.id) + }, + (table) => [ + index('pageHistory_pageId_idx').on(table.pageId, table.versionDate), + // -> "What happened to the page at this path, in this locale", which is how a deleted page is + // found again: there is no page row left to look its ID up from. Leading with `siteId` means + // this also serves the plain per-site queries. + index('pageHistory_siteId_idx').on(table.siteId, table.locale, table.path, table.versionDate), + index('pageHistory_authorId_idx').on(table.authorId) + ] +) + // PAGE EDIT SUBMISSIONS --------------- /** * An edit suggested by somebody who may read a page but not change it, waiting to be reviewed. @@ -507,11 +579,13 @@ export const tree = pgTable( 'tree', { id: uuid().primaryKey().defaultRandom(), + // -> Genuinely hierarchical, and queried as such with `<@`, `@>` and lquery: this is what ltree is + // for. The locale beside it is not, and is a plain string. folderPath: ltree('folderPath'), fileName: varchar({ length: 255 }).notNull(), hash: varchar({ length: 255 }).notNull(), type: treeTypeEnum('tree').notNull(), - locale: ltree('locale').notNull(), + locale: varchar({ length: 255 }).notNull(), title: varchar({ length: 255 }).notNull(), navigationMode: treeNavigationModeEnum('navigationMode').notNull().default('inherit'), navigationId: uuid(), @@ -532,7 +606,9 @@ export const tree = pgTable( index('tree_fileName_idx').on(table.fileName), index('tree_hash_idx').on(table.hash), index('tree_type_idx').on(table.type), - index('tree_locale_idx').using('gist', table.locale), + // -> A plain btree: the locale is a string compared for equality, and GiST — which is what an + // ltree column wanted — has no operator class for varchar at all + index('tree_locale_idx').on(table.locale), index('tree_navigationMode_idx').on(table.navigationMode), index('tree_navigationId_idx').on(table.navigationId), index('tree_tags_idx').using('gin', table.tags), diff --git a/backend/locales/en.json b/backend/locales/en.json index 5da00fab3..34d6f7727 100644 --- a/backend/locales/en.json +++ b/backend/locales/en.json @@ -1998,6 +1998,31 @@ "iconPicker.selection": "Selected icon", "iconPicker.set": "Set", "iconPicker.setsFailed": "Failed to load the icon sets.", + "inbox.inbox": "Inbox", + "inbox.inboxInfo": "Nothing here yet.", + "inbox.pendingReview": "Pending Review", + "inbox.pendingReviewInfo": "Edit suggestions waiting for your review, oldest first.", + "inbox.reviewApprove": "Approve", + "inbox.reviewApproveConfirm": "Apply these changes to {page}? The page will be updated right away.", + "inbox.reviewApproveFailed": "Failed to apply the suggestion.", + "inbox.reviewApproveSuccess": "The suggestion has been applied to the page.", + "inbox.reviewBack": "Back to the queue", + "inbox.reviewDecline": "Decline", + "inbox.reviewDeclineConfirm": "Discard this suggestion? The page will be left as it is, and the suggestion cannot be recovered.", + "inbox.reviewDeclineFailed": "Failed to decline the suggestion.", + "inbox.reviewDeclineSuccess": "The suggestion has been declined.", + "inbox.reviewDiffHint": "The page as it stands is on the left. The suggestion is on the right, and you can edit it before approving.", + "inbox.reviewGuest": "Guest", + "inbox.reviewLoadFailed": "Failed to load the review queue.", + "inbox.reviewNone": "Nothing is waiting for your review.", + "inbox.reviewStale": "Page changed", + "inbox.reviewStaleHint": "The page has changed since this was suggested. Check the differences below and adjust the result before approving.", + "inbox.reviewSubmittedBy": "Suggested by {author} on {date}", + "inbox.reviewUnknownAuthor": "Unknown", + "inbox.reviewViewPage": "View Page", + "inbox.title": "Inbox & Notifications", + "inbox.watching": "Watching", + "inbox.watchingInfo": "Nothing here yet.", "linkPicker.emptyFolder": "There are no pages in this folder.", "linkPicker.linkUrl": "Link URL", "linkPicker.loadFailed": "Failed to load the page tree.", diff --git a/backend/models/approvals.ts b/backend/models/approvals.ts index 6348b7494..37e319793 100644 --- a/backend/models/approvals.ts +++ b/backend/models/approvals.ts @@ -4,7 +4,9 @@ import { and, asc, eq, inArray, sql } from 'drizzle-orm' import { approvalRules as approvalRulesTable, groups as groupsTable, - pageEditSubmissions as submissionsTable + pageEditSubmissions as submissionsTable, + pages as pagesTable, + users as usersTable } from '../db/schema.ts' /** @@ -31,6 +33,38 @@ export interface PageEditSubmission { updatedAt: Date } +/** A submission as a reviewer sees it in their queue. */ +export interface ReviewableSubmission { + id: string + createdAt: Date + updatedAt: Date + /** Whether the page has changed since the suggestion was made against it. */ + isStale: boolean + page: { + id: string + path: string + title: string + locale: string + } + author: { + /** Null for a guest, who has no account to point at. */ + id: string | null + name: string + email: string + isGuest: boolean + } +} + +/** A submission opened for review, with everything the diff needs. */ +export interface ReviewableSubmissionDetail extends ReviewableSubmission { + /** What the suggestion proposes the page should say. */ + content: string + /** What it currently says, i.e. the other side of the diff. */ + pageContent: string + /** Unified diff against the page as it stood when the suggestion was made. */ + patch: string +} + /** An approval rule as the API exposes it. */ export interface ApprovalRule { id: string @@ -368,6 +402,211 @@ class Approvals { return WIKI.db.$count(submissionsTable, eq(submissionsTable.pageId, pageId)) } + /** + * Every suggestion waiting on this reviewer, oldest first. + * + * A suggestion is theirs to review when an enabled rule covers its page and names a group they are + * in — the same rules that let it be submitted, read from the other side. Someone holding + * `manage:system` sees the site's whole queue, as they do everywhere else. + * + * Ordered oldest first because a queue is worked through in the order things arrived. + */ + async getReviewableSubmissions( + siteId: string, + { groupIds, isAdmin = false }: { groupIds: string[]; isAdmin?: boolean } + ): Promise { + if (!isAdmin && groupIds.length < 1) { + return [] + } + const rules = (await this.getRules(siteId)).filter( + (rule) => + rule.isEnabled && (isAdmin || rule.reviewerGroups.some((id) => groupIds.includes(id))) + ) + if (rules.length < 1) { + return [] + } + + const rows = await WIKI.db + .select({ + id: submissionsTable.id, + baseHash: submissionsTable.baseHash, + guestName: submissionsTable.guestName, + guestEmail: submissionsTable.guestEmail, + createdAt: submissionsTable.createdAt, + updatedAt: submissionsTable.updatedAt, + pageId: pagesTable.id, + pagePath: pagesTable.path, + pageTitle: pagesTable.title, + pageLocale: pagesTable.locale, + pageTags: pagesTable.tags, + pageContent: pagesTable.content, + authorId: usersTable.id, + authorName: usersTable.name, + authorEmail: usersTable.email + }) + .from(submissionsTable) + .innerJoin(pagesTable, eq(pagesTable.id, submissionsTable.pageId)) + .leftJoin(usersTable, eq(usersTable.id, submissionsTable.authorId)) + .where(eq(submissionsTable.siteId, siteId)) + .orderBy(asc(submissionsTable.createdAt)) + + // -> Matched in memory rather than in SQL: a rule can be a regular expression or a set of tags, + // which no `WHERE` clause here could express, and a review queue is small + return rows + .filter((row: any) => + rules.some((rule) => + this.matchesPage(rule, { id: row.pageId, path: row.pagePath, tags: row.pageTags ?? [] }) + ) + ) + .map((row: any) => this.toReviewable(row)) + } + + /** + * One submission, if it is this reviewer's to look at, with both sides of the diff. + * + * @returns The submission, or null when it does not exist or is not theirs to review + */ + async getSubmissionForReview( + siteId: string, + submissionId: string, + { groupIds, isAdmin = false }: { groupIds: string[]; isAdmin?: boolean } + ): Promise { + // -> Reuses the queue rather than re-deriving who may see what: one definition of reviewable + const reviewable = await this.getReviewableSubmissions(siteId, { groupIds, isAdmin }) + if (!reviewable.some((s) => s.id === submissionId)) { + return null + } + + const rows = await WIKI.db + .select({ + content: submissionsTable.content, + patch: submissionsTable.patch, + pageContent: pagesTable.content + }) + .from(submissionsTable) + .innerJoin(pagesTable, eq(pagesTable.id, submissionsTable.pageId)) + .where(eq(submissionsTable.id, submissionId)) + .limit(1) + const detail = rows[0] + if (!detail) { + return null + } + + return { + ...reviewable.find((s) => s.id === submissionId)!, + content: detail.content, + pageContent: detail.pageContent ?? '', + patch: detail.patch + } + } + + /** + * Accept a suggestion: write it to the page and close the suggestion out. + * + * The content applied is whatever the reviewer settled on, which is not necessarily what was + * submitted — the review screen lets them adjust it before accepting. It is written as an ordinary + * page edit, so the render, the search index and the page hooks all happen the way they do for any + * other save, with the reviewer recorded as the author: they are the one putting it on the page, and + * a guest submitter has no account to attribute it to. + * + * @returns False when there is no such submission + */ + async approveSubmission({ + siteId, + submissionId, + content, + render, + actor + }: { + siteId: string + submissionId: string + content: string + /** The rendered HTML. Rendered here instead when the caller has none, which needs an extension. */ + render?: string + actor: { id: string; permissions: string[] } + }): Promise { + const rows = await WIKI.db + .select({ id: submissionsTable.id, pageId: submissionsTable.pageId }) + .from(submissionsTable) + .where(and(eq(submissionsTable.id, submissionId), eq(submissionsTable.siteId, siteId))) + .limit(1) + const submission = rows[0] + if (!submission) { + return false + } + + const page = await WIKI.models.pages.getPage({ + siteId, + id: submission.pageId, + withContent: true + }) + if (!page) { + return false + } + + /* + The render has to move with the content, or the page keeps serving HTML that no longer matches + its source. The markdown pipeline lives in the frontend, so the reviewer's browser produces it + the same way the editor does on any other save, and it arrives with the approval. + + Falling back to the server-side renderer covers an API client that has no pipeline of its own. + That one needs the Puppeteer extension and says so if it is missing, which is the honest answer: + the alternative is quietly leaving a stale render on a page somebody just changed. + */ + const config = WIKI.sites[siteId]?.config?.editors?.[page.editor]?.config ?? {} + const html = + render ?? + (await WIKI.models.rendering.renderContent(content, { + editor: page.editor, + config + })) + await WIKI.models.pages.updatePage(siteId, page.id, { content, render: html }, actor) + + await WIKI.db.delete(submissionsTable).where(eq(submissionsTable.id, submissionId)) + WIKI.logger.debug(`Approved edit suggestion ${submissionId} onto page ${page.id}`) + return true + } + + /** + * Decline a suggestion, which discards it. The page is untouched. + * + * @returns False when there is no such submission + */ + async rejectSubmission(siteId: string, submissionId: string): Promise { + const result = await WIKI.db + .delete(submissionsTable) + .where(and(eq(submissionsTable.id, submissionId), eq(submissionsTable.siteId, siteId))) + return (result.rowCount ?? 0) > 0 + } + + /** One joined row, as the review queue presents it. */ + toReviewable(row: any): ReviewableSubmission { + return { + id: row.id, + createdAt: row.createdAt, + updatedAt: row.updatedAt, + // -> The page has moved on since this was written, so accepting it wholesale would undo whatever + // changed in between. The reviewer is shown the current page as the other side of the diff + // either way; this is what tells them to look closely. + isStale: + createHash('sha256') + .update(row.pageContent ?? '') + .digest('hex') !== row.baseHash, + page: { + id: row.pageId, + path: row.pagePath, + title: row.pageTitle, + locale: row.pageLocale + }, + author: { + id: row.authorId ?? null, + name: row.authorName ?? row.guestName ?? '', + email: row.authorEmail ?? row.guestEmail ?? '', + isGuest: !row.authorId + } + } + } + /** * Delete a rule. * diff --git a/backend/models/index.ts b/backend/models/index.ts index ec2e3ae5c..b3854c46f 100644 --- a/backend/models/index.ts +++ b/backend/models/index.ts @@ -11,6 +11,7 @@ import { icons } from './icons.ts' import { jobs } from './jobs.ts' import { locales } from './locales.ts' import { navigation } from './navigation.ts' +import { pageHistory } from './pageHistory.ts' import { pages } from './pages.ts' import { passkeys } from './passkeys.ts' import { rendering } from './rendering.ts' @@ -38,6 +39,7 @@ export default { jobs, locales, navigation, + pageHistory, pages, passkeys, rendering, diff --git a/backend/models/pageHistory.ts b/backend/models/pageHistory.ts new file mode 100644 index 000000000..619908dcc --- /dev/null +++ b/backend/models/pageHistory.ts @@ -0,0 +1,171 @@ +import { eq } from 'drizzle-orm' +import { pageHistory as pageHistoryTable, pages as pagesTable } from '../db/schema.ts' + +/** + * The kinds of change a history row records. + * + * `created` and `deleted` are the two ends of a page's life; `moved` is a change of path or title, + * which is worth telling apart from an ordinary edit because it is what breaks links; `updated` is + * everything else, content and metadata alike. + */ +export const pageHistoryActions = ['created', 'updated', 'moved', 'deleted'] as const + +export type PageHistoryAction = (typeof pageHistoryActions)[number] + +/** + * The page fields a version carries beyond the ones with columns of their own. + * + * Taken straight off the stored row, so a field added to a page is captured here without this list + * being touched. The exclusions are either derived from the content (`render`, `toc`, `searchContent`, + * `ts`), fixed for the page's whole life (`id`, `siteId`, `creatorId`, `createdAt`), or bookkeeping + * that says nothing about the version (`hash`, `updatedAt`, `authorId`, `ratingScore`, `ratingCount`, + * `historyData`, `isSearchableComputed`). + */ +const EXCLUDED_FROM_META = new Set([ + 'id', + 'siteId', + 'creatorId', + 'createdAt', + 'updatedAt', + 'authorId', + 'hash', + 'render', + 'toc', + 'searchContent', + 'ts', + 'ratingScore', + 'ratingCount', + 'historyData', + 'isSearchableComputed', + // -> Held in columns of their own + 'locale', + 'path', + 'title', + 'content' +]) + +/** + * Fields a change is never reported as having touched. + * + * Either derived from the content (a render moves whenever the source does, and saying so twice tells + * a reader nothing) or bookkeeping that moves on every save regardless. + */ +const NOT_REPORTED_AS_CHANGED = new Set([ + 'render', + 'toc', + 'searchContent', + 'ts', + 'hash', + 'authorId', + 'updatedAt', + 'ratingScore', + 'ratingCount', + 'historyData', + 'isSearchableComputed' +]) + +/** + * Page history model + * + * Records a version of a page every time one changes. Nothing reads it back yet — displaying the + * history, comparing versions and restoring one are the next step — so this is deliberately only the + * recording side. + */ +class PageHistory { + /** + * Record what a page looks like now, as a new version. + * + * The snapshot is read from the stored row rather than taken from the caller, so that what is + * recorded is what was actually saved — not what the caller believed it was saving. For a deletion + * that means this has to be called BEFORE the row goes. + * + * A failure here is logged and swallowed: history is a record of what happened, and losing an entry + * is not a reason to fail the edit that was the point of the request. + * + * @param authorId Who made the change. Kept on the row until that account is deleted, at which + * point the version survives with no author rather than blocking the deletion. + * @param changedFields Which fields the change touched. Empty for a creation or a deletion, where + * the whole page is the change. + * @returns The version's ID, or null when nothing was recorded + */ + async record({ + siteId, + pageId, + action, + authorId, + changedFields = [] + }: { + siteId: string + pageId: string + action: PageHistoryAction + authorId: string + changedFields?: string[] + }): Promise { + try { + const rows = await WIKI.db.select().from(pagesTable).where(eq(pagesTable.id, pageId)).limit(1) + const page = rows[0] + if (!page) { + WIKI.logger.warn(`Cannot record page history for ${pageId}: the page is not there.`) + return null + } + + const meta: Record = {} + for (const [key, value] of Object.entries(page)) { + if (!EXCLUDED_FROM_META.has(key)) { + meta[key] = value + } + } + + const inserted = await WIKI.db + .insert(pageHistoryTable) + .values({ + pageId, + siteId, + authorId, + action, + changedFields, + locale: page.locale, + path: page.path, + title: page.title, + content: page.content, + meta + }) + .returning({ id: pageHistoryTable.id }) + + return inserted[0]?.id ?? null + } catch (err: any) { + WIKI.logger.warn(`Failed to record page history for ${pageId}: ${err.message}`) + return null + } + } + + /** + * Which of a page's fields a patch actually changes. + * + * Compared against the stored row rather than taken from the patch keys: a client that sends every + * field on every save — which is what the editor does — would otherwise record every field as + * changed on every version, and the point of this is to say what was touched. + * + * Fields derived from the content, and the bookkeeping that moves on every save, are left out: a + * render changing alongside its source is not a second thing that happened. + * + * @param existing The page row as it stands + * @param patch The fields being written, keyed as the page stores them + */ + changedFields(existing: Record, patch: Record): string[] { + const changed: string[] = [] + for (const [key, value] of Object.entries(patch)) { + if (value === undefined || !(key in existing) || NOT_REPORTED_AS_CHANGED.has(key)) { + continue + } + // -> JSON rather than `===`: tags, relations and the config blobs are arrays and objects, and + // comparing those by reference reports every save as a change to all of them + if (JSON.stringify(existing[key]) !== JSON.stringify(value)) { + changed.push(key) + } + } + return changed.sort() + } +} + +export const pageHistory = new PageHistory() diff --git a/backend/models/pages.ts b/backend/models/pages.ts index 13496b3f2..b4d28ba19 100644 --- a/backend/models/pages.ts +++ b/backend/models/pages.ts @@ -446,6 +446,13 @@ class Pages { throw err } + await WIKI.models.pageHistory.record({ + siteId, + pageId: page.id, + action: 'created', + authorId: actor.id + }) + await WIKI.models.search.indexPage(page.id, locale) await WIKI.models.hooks.emit('page:create', { id: page.id, @@ -561,10 +568,22 @@ class Pages { // -> The author is whoever last changed it; the creator and owner do not move values.authorId = actor.id + // -> Worked out before the write, against the row as it stands: the editor sends every field on + // every save, so the patch alone would report a change to all of them + const changedFields = WIKI.models.pageHistory.changedFields(existing, values) + await WIKI.db.update(pagesTable).set(values).where(eq(pagesTable.id, id)) const updated = (await this.getPage({ siteId, id })) as Page + await WIKI.models.pageHistory.record({ + siteId, + pageId: id, + action: 'updated', + authorId: actor.id, + changedFields + }) + if (treeTitle !== null || patch.tags !== undefined) { await WIKI.db .update(treeTable) @@ -653,6 +672,20 @@ class Pages { }) const moved = (await this.getPage({ siteId, id })) as Page + + // -> Recorded as its own kind of change rather than an edit: a move is what breaks inbound links, + // and a history list has to be able to say so + await WIKI.models.pageHistory.record({ + siteId, + pageId: id, + action: 'moved', + authorId: actor.id, + changedFields: [ + ...(newPath !== page.path ? ['path'] : []), + ...(title !== undefined && title.trim() !== page.title ? ['title'] : []) + ] + }) + await WIKI.models.hooks.emit('page:rename', { id, path: moved.path, @@ -674,6 +707,14 @@ class Pages { if (!page) { return false } + // -> Before the row goes, and this version is what recovering the page would be built from + await WIKI.models.pageHistory.record({ + siteId, + pageId: id, + action: 'deleted', + authorId: actor.id + }) + await WIKI.db.delete(pagesTable).where(eq(pagesTable.id, id)) await WIKI.models.tree.deleteEntry(id) // -> A page that overrode the sidebar owns a menu keyed by its own id, which nothing could reach diff --git a/backend/models/passkeys.ts b/backend/models/passkeys.ts index c0ac853dc..663ba98b4 100644 --- a/backend/models/passkeys.ts +++ b/backend/models/passkeys.ts @@ -6,6 +6,7 @@ import { } from '@simplewebauthn/server' import { isoBase64URL } from '@simplewebauthn/server/helpers' import { eq, sql } from 'drizzle-orm' +import { validate as uuidValidate } from 'uuid' import { users as usersTable } from '../db/schema.ts' import type { AuthenticationResponseJSON, @@ -366,13 +367,18 @@ class Passkeys { } // -> The handle is the user ID this server encoded at registration, so anything else is not a - // credential of ours + // credential of ours. Checked for shape before it is looked up: postgres rejects a malformed + // uuid with an error of its own, which would turn a rejected login into a logged fault. let userId: string try { userId = isoBase64URL.toUTF8String(userHandle) } catch { throw new Error('ERR_LOGIN_FAILED') } + if (!uuidValidate(userId)) { + WIKI.models.flags.authDebug('Passkey login rejected: the user handle is not one of ours') + throw new Error('ERR_LOGIN_FAILED') + } const user = await WIKI.models.users.getById(userId) if (!user) { diff --git a/backend/models/search.ts b/backend/models/search.ts index 9ea9fe102..3ac824163 100644 --- a/backend/models/search.ts +++ b/backend/models/search.ts @@ -193,7 +193,7 @@ class Search { if (arms.length < 1) { return sql`${sql.raw(`'${FALLBACK_DICTIONARY}'`)}::regconfig` } - return sql`(CASE p.locale::text ${sql.join(arms, sql` `)} ELSE ${sql.raw(`'${FALLBACK_DICTIONARY}'`)} END)::regconfig` + return sql`(CASE p.locale ${sql.join(arms, sql` `)} ELSE ${sql.raw(`'${FALLBACK_DICTIONARY}'`)} END)::regconfig` } /** @@ -269,7 +269,7 @@ class Search { if (locales.length > 0) { // -> `sql.param`, because a bare array is expanded into a list of placeholders rather than // bound as one array value - conditions.push(sql`p.locale::text = ANY(${sql.param(locales)}::text[])`) + conditions.push(sql`p.locale = ANY(${sql.param(locales)}::text[])`) } if (tags.length > 0) { conditions.push(sql`p.tags @> ${sql.param(tags)}::text[]`) @@ -306,7 +306,7 @@ class Search { SELECT p.id, p.path, - p.locale::text AS locale, + p.locale, p.title, p.description, p.icon, @@ -357,9 +357,7 @@ class Search { */ async rebuildIndex(): Promise { const available = await this.getAvailableDictionaries() - const localeRows = await WIKI.db.execute( - sql`SELECT DISTINCT locale::text AS locale FROM pages ORDER BY locale` - ) + const localeRows = await WIKI.db.execute(sql`SELECT DISTINCT locale FROM pages ORDER BY locale`) const locales = ((localeRows.rows ?? localeRows) as any[]).map((r) => r.locale as string) WIKI.logger.info(`Rebuilding the search index for ${locales.length} locale(s)...`) @@ -374,7 +372,7 @@ class Search { setweight(to_tsvector(${sql.raw(`'${dictionary}'`)}, coalesce(title, '')), 'A') || setweight(to_tsvector(${sql.raw(`'${dictionary}'`)}, coalesce(description, '')), 'B') || setweight(to_tsvector(${sql.raw(`'${dictionary}'`)}, coalesce("searchContent", '')), 'C') - WHERE locale::text = ${locale} + WHERE locale = ${locale} `) const pages = updated.rowCount ?? 0 result.pages += pages diff --git a/frontend/src/assets/icons.generated.js b/frontend/src/assets/icons.generated.js index 7133b7d24..d7c0d4eb6 100644 --- a/frontend/src/assets/icons.generated.js +++ b/frontend/src/assets/icons.generated.js @@ -5,7 +5,7 @@ never waits on (or depends on) the icon service. Regenerate with `npm run icons` after adding or removing an icon; `check-icons.mjs` fails the build if this drifts. - 249 icons. + 252 icons. */ export const BUNDLED_ICONS = { "la:angle-double-right": {"body":"","width":32,"height":32}, @@ -35,6 +35,7 @@ export const BUNDLED_ICONS = { "la:check-square": {"body":"","width":32,"height":32}, "la:circle": {"body":"","width":32,"height":32}, "la:clipboard": {"body":"","width":32,"height":32}, + "la:clipboard-check": {"body":"","width":32,"height":32}, "la:clipboard-list": {"body":"","width":32,"height":32}, "la:clock": {"body":"","width":32,"height":32}, "la:cloud-upload-alt": {"body":"","width":32,"height":32}, @@ -52,6 +53,7 @@ export const BUNDLED_ICONS = { "la:ellipsis-v": {"body":"","width":32,"height":32}, "la:envelope": {"body":"","width":32,"height":32}, "la:exclamation-triangle": {"body":"","width":32,"height":32}, + "la:external-link-alt": {"body":"","width":32,"height":32}, "la:external-link-square-alt": {"body":"","width":32,"height":32}, "la:eye": {"body":"","width":32,"height":32}, "la:file-alt": {"body":"","width":32,"height":32}, @@ -214,6 +216,7 @@ export const BUNDLED_ICONS = { "mdi:image-plus-outline": {"body":"","width":24,"height":24}, "mdi:image-sync-outline": {"body":"","width":24,"height":24}, "mdi:import": {"body":"","width":24,"height":24}, + "mdi:inbox-full": {"body":"","width":24,"height":24}, "mdi:information": {"body":"","width":24,"height":24}, "mdi:information-box": {"body":"","width":24,"height":24}, "mdi:keyboard-variant": {"body":"","width":24,"height":24}, diff --git a/frontend/src/components/HeaderNav.vue b/frontend/src/components/HeaderNav.vue index 88df0e91f..4fede5759 100644 --- a/frontend/src/components/HeaderNav.vue +++ b/frontend/src/components/HeaderNav.vue @@ -42,6 +42,18 @@ @click="openFileManager"> File Manager + + {{ t('inbox.title') }} + url.pathname.startsWith(prefix))) { + return null + } + // -> Same page, different fragment: the browser scrolls and announces it, and the router would do + // neither + if (url.pathname === current.pathname && url.hash) { + return null + } + + return `${url.pathname}${url.search}${url.hash}` +} diff --git a/frontend/src/layouts/InboxLayout.vue b/frontend/src/layouts/InboxLayout.vue new file mode 100644 index 000000000..2446111a9 --- /dev/null +++ b/frontend/src/layouts/InboxLayout.vue @@ -0,0 +1,225 @@ + + + + + diff --git a/frontend/src/pages/InboxMessages.vue b/frontend/src/pages/InboxMessages.vue new file mode 100644 index 000000000..59dfdee81 --- /dev/null +++ b/frontend/src/pages/InboxMessages.vue @@ -0,0 +1,24 @@ + + + diff --git a/frontend/src/pages/InboxReview.vue b/frontend/src/pages/InboxReview.vue new file mode 100644 index 000000000..9c1c7c123 --- /dev/null +++ b/frontend/src/pages/InboxReview.vue @@ -0,0 +1,432 @@ + + + + + diff --git a/frontend/src/pages/InboxWatching.vue b/frontend/src/pages/InboxWatching.vue new file mode 100644 index 000000000..90eb9eef6 --- /dev/null +++ b/frontend/src/pages/InboxWatching.vue @@ -0,0 +1,24 @@ + + + diff --git a/frontend/src/pages/Index.vue b/frontend/src/pages/Index.vue index d43299237..06a99ed3c 100644 --- a/frontend/src/pages/Index.vue +++ b/frontend/src/pages/Index.vue @@ -50,7 +50,15 @@
-
+ +