From 3c70160dfcbdbbba6188a8458169945b64979bc7 Mon Sep 17 00:00:00 2001 From: Z8MB1E Date: Sun, 20 Sep 2026 02:43:53 -0400 Subject: [PATCH] feat(operations): readiness and zone pressure aggregates Deterministic, explainable, advisory readiness aggregates per subject behind a permission gate, and mission-scoped zone pressure with read-time decay yielding route-risk and yield multipliers. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- .../operations/OperationReadiness.ts | 152 + src/collections/operations/ZonePressure.ts | 73 + src/lib/operations/readiness.ts | 325 + src/lib/operations/readinessCompute.ts | 124 + src/lib/operations/readinessTypes.ts | 129 + src/lib/operations/territory.ts | 217 + ...260918_222549_add_operation_readiness.json | 30861 +++++++++++++++ ...20260918_222549_add_operation_readiness.ts | 62 + .../20260920_044743_add_zone_pressure.json | 31162 ++++++++++++++++ .../20260920_044743_add_zone_pressure.ts | 59 + tests/int/operation-readiness.int.spec.ts | 352 + tests/int/operation-territory.int.spec.ts | 258 + 12 files changed, 63774 insertions(+) create mode 100644 src/collections/operations/OperationReadiness.ts create mode 100644 src/collections/operations/ZonePressure.ts create mode 100644 src/lib/operations/readiness.ts create mode 100644 src/lib/operations/readinessCompute.ts create mode 100644 src/lib/operations/readinessTypes.ts create mode 100644 src/lib/operations/territory.ts create mode 100644 src/migrations/20260918_222549_add_operation_readiness.json create mode 100644 src/migrations/20260918_222549_add_operation_readiness.ts create mode 100644 src/migrations/20260920_044743_add_zone_pressure.json create mode 100644 src/migrations/20260920_044743_add_zone_pressure.ts create mode 100644 tests/int/operation-readiness.int.spec.ts create mode 100644 tests/int/operation-territory.int.spec.ts diff --git a/src/collections/operations/OperationReadiness.ts b/src/collections/operations/OperationReadiness.ts new file mode 100644 index 0000000..f455c9f --- /dev/null +++ b/src/collections/operations/OperationReadiness.ts @@ -0,0 +1,152 @@ +import type { CollectionConfig } from "payload"; +import { requirePermission } from "@/utils/access-control/hasPermission"; + +/** + * Role-scoped, advisory operation readiness + planning-confidence aggregates. + * + * One row per (subjectType, subjectId, windowStart). Writes are internal only + * (create/update/delete denied; the readiness service writes via `overrideAccess` + * with its own permission gate). Read is gated by the NEW + * `operation-readiness:read` permission, so it is role-scoped, not open to any + * logged-in user. + * + * The stored row carries only normalized scores, category weights, and input + * counts plus a generated explanation. It never contains raw evaluation content + * (evaluator names, rater ids, or comment text), which is what the privacy + * guarantee rests on. + */ +export const OperationReadiness: CollectionConfig = { + slug: "operation-readiness", + admin: { + group: "Operations", + useAsTitle: "subjectLabel", + defaultColumns: ["subjectType", "subjectLabel", "windowStart", "readinessScore", "planningConfidenceScore"], + }, + access: { + read: requirePermission("operation-readiness:read"), + create: () => false, + update: () => false, + delete: () => false, + }, + fields: [ + { + name: "subjectType", + type: "select", + required: true, + options: [ + { label: "User", value: "user" }, + { label: "Role", value: "role" }, + ], + admin: { + description: "Who the aggregate is for: a specific user, or a whole role.", + }, + }, + { + name: "subjectId", + type: "number", + admin: { + description: "Id of the subject (user id for user-scoped; null for role-scoped).", + }, + }, + { + name: "subjectLabel", + type: "text", + admin: { + description: "Human-readable label for the subject (role name or username). Display only.", + }, + }, + { + name: "windowStart", + type: "date", + required: true, + admin: { + description: "Start of the explicit time window this aggregate covers.", + }, + }, + { + name: "windowEnd", + type: "date", + admin: { + description: "End of the time window.", + }, + }, + { + name: "windowLabel", + type: "text", + admin: { + description: "Optional human label for the window (e.g. an ISO week).", + }, + }, + { + name: "operationId", + type: "text", + admin: { + description: "Optional operation identity the window's data is attributed to.", + }, + }, + { + name: "calculationVersion", + type: "text", + required: true, + defaultValue: "1.0.0", + admin: { + description: "Readiness calculation model version.", + }, + }, + { + name: "nature", + type: "select", + required: true, + defaultValue: "advisory", + options: [{ label: "Advisory (non-gating)", value: "advisory" }], + admin: { + description: + "Advisory-only. Never used to gate, punish, or rank players against one another.", + }, + }, + { + name: "readinessScore", + type: "number", + admin: { + description: "Weighted 0-100 readiness score over present contributing categories.", + }, + }, + { + name: "planningConfidenceScore", + type: "number", + admin: { + description: "Weighted 0-100 planning-confidence sub-score from pre-op signals.", + }, + }, + { + name: "contributingCategories", + type: "json", + admin: { + description: + "Structured per-category breakdown ({ category, weight, score, inputCount }). No evaluator data.", + }, + }, + { + name: "inputCount", + type: "number", + admin: { + description: "Total component inputs consumed by the aggregate.", + }, + }, + { + name: "explanation", + type: "textarea", + admin: { + description: + "Human-readable explanation enumerating contributing categories and weights. Never contains evaluator names, ids, or comments.", + }, + }, + { + name: "recomputedAt", + type: "date", + admin: { + description: "When the aggregate was last computed.", + }, + }, + ], +}; diff --git a/src/collections/operations/ZonePressure.ts b/src/collections/operations/ZonePressure.ts new file mode 100644 index 0000000..61b5a33 --- /dev/null +++ b/src/collections/operations/ZonePressure.ts @@ -0,0 +1,73 @@ +import type { CollectionConfig } from "payload"; + +/** + * Strategic pressure ledger over map zones (task 7). + * + * One row per settled operation outcome affecting a zone: an additive delta + * attributed to the faction, mission, and source effect that caused it. + * `sourceEffect` is unique, so a replayed effect is a structural no-op. The + * zone's strategic state is computed deterministically from decayed deltas in + * `src/lib/operations/territory.ts`; this collection stores no derived state. + * + * This is an informational strategic layer only: it never changes placement + * rules, terrain validation, or any map authoring behavior. + * + * Writes are internal only (create/update/delete denied; the settlement layer + * writes via `overrideAccess`). Read is open to any logged-in user. + */ +export const ZonePressure: CollectionConfig = { + slug: "zone-pressure", + admin: { + group: "Operations", + useAsTitle: "operationId", + defaultColumns: ["zone", "faction", "operationId", "delta", "createdAt"], + }, + access: { + read: ({ req }) => !!req.user, + create: () => false, + update: () => false, + delete: () => false, + }, + timestamps: true, + fields: [ + { + name: "zone", + type: "relationship", + relationTo: "map-zones", + required: true, + index: true, + admin: { description: "The zone this pressure applies to." }, + }, + { + name: "faction", + type: "relationship", + relationTo: "factions", + index: true, + admin: { description: "The faction whose activity drives this pressure." }, + }, + { name: "operationId", type: "text", required: true, index: true }, + { + name: "mission", + type: "relationship", + relationTo: "missions", + index: true, + admin: { description: "The mission the operation was scoped to (causal AAR link)." }, + }, + { + name: "sourceEffect", + type: "relationship", + relationTo: "operation-effects", + required: true, + unique: true, + index: true, + admin: { description: "The settled operation effect that produced this delta (idempotency key)." }, + }, + { + name: "delta", + type: "number", + required: true, + admin: { description: "Signed pressure delta: hostile gains positive, friendly control negative." }, + }, + { name: "note", type: "textarea" }, + ], +}; diff --git a/src/lib/operations/readiness.ts b/src/lib/operations/readiness.ts new file mode 100644 index 0000000..0f56da5 --- /dev/null +++ b/src/lib/operations/readiness.ts @@ -0,0 +1,325 @@ +/** + * Operation readiness service: gathers per-subject participation signals from + * settled operation facts, computes a deterministic advisory aggregate, persists + * it idempotently, and serves it behind a permission gate. + * + * Privacy model: the aggregate stores only normalized scores, category weights, + * and input counts. It never stores evaluator names, rater ids, or evaluation + * comment text, and the read path returns only the stored aggregate -- raw + * evaluation content is never surfaced. + * + * Sources (all post-settlement, never live/unsettled data): + * - participation: applied `operation-effects` reached via their provenance + * link (mission-attendance -> operation-events -> operation-effects). + * - attendance: `mission-attendances` "yes" for the subject. + * - assignments: `assignments` the subject belongs to. + * - evaluation: metadata-only (performance level) aggregate of evaluations + * where the subject is the ratee. Comment/rater are never read. + * - objectives: validated `operation.objective` events for the subject. + * - logistics: completed `shipments` created by the subject. + */ +import type { Payload, PayloadRequest, Where } from "payload"; +import type { OperationReadiness } from "@/payload-types"; +import { hasPermission } from "@/utils/access-control/hasPermission"; +import { Permission } from "@/permissions"; +import { getPerformanceLevel } from "@/lib/evaluations/levels"; +import { + READINESS_CATEGORIES, + READINESS_CALCULATION_VERSION, + READINESS_NATURE, + type ReadinessAggregate, + type ReadinessCategoryInput, + type ReadinessNature, +} from "./readinessTypes"; +import { computeReadinessAggregate, formatReadinessExplanation, isAggregateEqual } from "./readinessCompute"; +import type { ReadinessInputs } from "./readinessTypes"; + +type PayloadType = Awaited>; + +export interface ReadinessScope { + subjectType: "user" | "role"; + /** User id for user-scoped readiness; null for role-scoped. */ + subjectId: number | null; + windowStart: Date; + windowEnd: Date; + /** Optional human label, e.g. an ISO week ("2026-W38"). */ + windowLabel: string | null; + /** Optional operation identity the window's data is attributed to. */ + operationId: string | null; +} + +export interface ReadinessReadResult { + /** Forbidden when the requesting user lacks the read permission. */ + status: "ok" | "forbidden" | "not-found"; + data: unknown | null; +} + +function relationId(value: unknown): number | null { + if (typeof value === "number") return value; + if (value !== null && typeof value === "object" && "id" in (value as { id: unknown })) { + const id = (value as { id: unknown }).id; + return typeof id === "number" ? id : null; + } + return null; +} + +/** + * Gather normalized per-category inputs for a subject over a window. Every query + * is bounded and read-only; the evaluation path reads only the performance level + * (metadata), never the private comment or rater. + */ +export async function gatherReadinessInputs( + payload: PayloadType, + scope: ReadinessScope, + req?: PayloadRequest, +): Promise { + const inWindow = { greater_than_equal: scope.windowStart.toISOString(), less_than_equal: scope.windowEnd.toISOString() }; + + const attended = await payload.find({ + collection: "mission-attendances", + where: { + and: [ + { user: { equals: scope.subjectId } }, + { response: { equals: "yes" } }, + { createdAt: inWindow }, + ], + }, + limit: 500, + depth: 0, + overrideAccess: true, + req, + }); + const attendanceYes = attended.docs.length; + const attendedMissionIds = attended.docs + .map((d) => relationId((d as { mission: unknown }).mission)) + .filter((id): id is number => id !== null); + + // Operation participation via provenance link: mission -> validated + // operation-events -> applied operation-effects. The explicit `Where` + // annotation gives the ternary a contextual type, avoiding the + // discriminated-union-with-undefined-props shape Payload's Where rejects. + const eventsWhere: Where = + attendedMissionIds.length > 0 + ? { or: [{ actor: { equals: scope.subjectId } }, { mission: { in: attendedMissionIds } }] } + : { actor: { equals: scope.subjectId } }; + const events = await payload.find({ + collection: "operation-events", + where: { and: [{ status: { equals: "validated" } }, { occurredAt: inWindow }, eventsWhere] }, + limit: 1000, + depth: 0, + overrideAccess: true, + req, + }); + const eventIds = events.docs.map((d) => d.id as number); + let participationCount = 0; + if (eventIds.length > 0) { + const effects = await payload.find({ + collection: "operation-effects", + where: { and: [{ operationEvent: { in: eventIds } }, { status: { equals: "applied" } }] }, + limit: 1000, + depth: 0, + overrideAccess: true, + req, + }); + participationCount = effects.docs.length; + } + + const objectives = await payload.find({ + collection: "operation-events", + where: { + and: [ + { status: { equals: "validated" } }, + { type: { equals: "operation.objective" } }, + { occurredAt: inWindow }, + attendedMissionIds.length > 0 + ? { or: [{ actor: { equals: scope.subjectId } }, { mission: { in: attendedMissionIds } }] } + : { actor: { equals: scope.subjectId } }, + ], + }, + limit: 500, + depth: 0, + overrideAccess: true, + req, + }); + + const evaluations = await payload.find({ + collection: "evaluations", + where: { and: [{ ratee: { equals: scope.subjectId } }, { createdAt: inWindow }] }, + limit: 500, + depth: 0, + overrideAccess: true, + req, + }); + let evaluationScore: number | null = null; + if (evaluations.docs.length > 0) { + const scores = evaluations.docs + .map((d) => getPerformanceLevel((d as { level: unknown }).level as string)) + .filter((l): l is NonNullable => l !== null) + .map((l) => l.score); + if (scores.length > 0) { + evaluationScore = Math.round(scores.reduce((sum, s) => sum + s, 0) / scores.length); + } + } + + const assignments = await payload.find({ + collection: "assignments", + where: { and: [{ members: { equals: scope.subjectId } }, { createdAt: inWindow }] }, + limit: 200, + depth: 0, + overrideAccess: true, + req, + }); + + const shipments = await payload.find({ + collection: "shipments", + where: { + and: [ + { createdBy: { equals: scope.subjectId } }, + { status: { equals: "completed" } }, + { createdAt: inWindow }, + ], + }, + limit: 500, + depth: 0, + overrideAccess: true, + req, + }); + + const countScore = ( + category: ReadinessCategoryInput["category"], + count: number, + perUnit: number, + ): ReadinessCategoryInput => + count > 0 + ? { category, score: Math.min(100, count * perUnit), inputCount: count } + : { category, score: null, inputCount: 0 }; + + return { + participation: countScore(READINESS_CATEGORIES.PARTICIPATION, participationCount, 25), + attendance: countScore(READINESS_CATEGORIES.ATTENDANCE, attendanceYes, 34), + assignments: countScore(READINESS_CATEGORIES.ASSIGNMENTS, assignments.docs.length, 25), + evaluation: + evaluationScore === null + ? { category: READINESS_CATEGORIES.EVALUATION, score: null, inputCount: 0 } + : { category: READINESS_CATEGORIES.EVALUATION, score: evaluationScore, inputCount: evaluations.docs.length }, + objectives: countScore(READINESS_CATEGORIES.OBJECTIVES, objectives.docs.length, 25), + logistics: countScore(READINESS_CATEGORIES.LOGISTICS, shipments.docs.length, 25), + }; +} + +export interface ComputeReadinessOptions { + /** When supplied, writes join the caller's transaction (hook safety). */ + req?: PayloadRequest; +} + +/** + * Recompute a subject's readiness for a window and store it idempotently. + * + * Idempotency: the aggregate is keyed by `subjectType:subjectId:windowStart`. + * The stored row is freshly re-read; if the computed aggregate is unchanged the + * row is returned as-is (no drift), otherwise it is replaced atomically. + */ +export async function computeReadiness( + payload: PayloadType, + scope: ReadinessScope, + _options?: ComputeReadinessOptions, +): Promise { + const inputs = await gatherReadinessInputs(payload, scope); + const aggregate = computeReadinessAggregate(inputs); + const explanation = formatReadinessExplanation(aggregate, scope.windowLabel); + + const data = { + subjectType: scope.subjectType, + subjectId: scope.subjectId, + windowStart: scope.windowStart.toISOString(), + windowEnd: scope.windowEnd.toISOString(), + windowLabel: scope.windowLabel, + operationId: scope.operationId, + calculationVersion: READINESS_CALCULATION_VERSION, + nature: READINESS_NATURE as ReadinessNature, + readinessScore: aggregate.readinessScore, + planningConfidenceScore: aggregate.planningConfidenceScore, + contributingCategories: aggregate.contributingCategories, + inputCount: aggregate.inputCount, + explanation, + recomputedAt: new Date().toISOString(), + }; + + const existing = await payload.find({ + collection: "operation-readiness", + where: { + and: [ + { subjectType: { equals: scope.subjectType } }, + { subjectId: { equals: scope.subjectId } }, + { windowStart: { equals: scope.windowStart.toISOString() } }, + ], + }, + limit: 1, + depth: 0, + overrideAccess: true, + }); + + if (existing.docs.length > 0) { + const stored = existing.docs[0] as unknown as OperationReadiness; + const storedAggregate = { + readinessScore: stored.readinessScore, + planningConfidenceScore: stored.planningConfidenceScore, + contributingCategories: + (stored.contributingCategories ?? []) as ReadinessAggregate["contributingCategories"], + }; + if (isAggregateEqual(storedAggregate, aggregate)) { + return stored; + } + return await payload.update({ + collection: "operation-readiness", + id: stored.id, + data, + overrideAccess: true, + depth: 0, + }); + } + + return await payload.create({ + collection: "operation-readiness", + data, + overrideAccess: true, + depth: 0, + }); +} + +/** + * Read a stored readiness aggregate for a subject/window, gated by the + * `operation-readiness:read` permission. Returns only the stored aggregate; raw + * evaluation content is never included. + */ +export async function getReadiness( + payload: PayloadType, + scope: Pick, + user: { id: number } | null | undefined, + permission: Permission = "operation-readiness:read", +): Promise { + const canRead = await hasPermission(payload, user, permission); + if (!canRead) { + return { status: "forbidden", data: null }; + } + + const found = await payload.find({ + collection: "operation-readiness", + where: { + and: [ + { subjectType: { equals: scope.subjectType } }, + { subjectId: { equals: scope.subjectId } }, + { windowStart: { equals: scope.windowStart.toISOString() } }, + ], + }, + limit: 1, + depth: 0, + overrideAccess: true, + }); + + if (found.docs.length === 0) { + return { status: "not-found", data: null }; + } + + return { status: "ok", data: found.docs[0] }; +} diff --git a/src/lib/operations/readinessCompute.ts b/src/lib/operations/readinessCompute.ts new file mode 100644 index 0000000..0e42934 --- /dev/null +++ b/src/lib/operations/readinessCompute.ts @@ -0,0 +1,124 @@ +/** + * Pure readiness computation: given a normalized set of category inputs, produce + * a deterministic aggregate + a human-readable explanation. + * + * Determinism contract: no `Math.random`, no `Date.now`, no clock dependence. + * Same inputs always produce byte-identical output. The explanation enumerates + * only contributing category names and weights -- it never references evaluator + * names, rater ids, or comment text, because it is built solely from the + * normalized category inputs. + */ +import { + READINESS_CATEGORY_LABELS, + READINESS_CATEGORY_WEIGHTS, + READINESS_CALCULATION_VERSION, + READINESS_NATURE, + PLANNING_CATEGORIES, + type ReadinessAggregate, + type ReadinessCategory, + type ReadinessComponent, + type ReadinessInputs, +} from "./readinessTypes"; + +const clamp0100 = (n: number): number => Math.max(0, Math.min(100, n)); + +/** Weighted mean of present categories, normalized to 0-100. */ +function weightedMean(components: ReadinessComponent[]): number { + const totalWeight = components.reduce((sum, c) => sum + c.weight, 0); + if (totalWeight === 0) return 0; + const weightedSum = components.reduce((sum, c) => sum + c.weight * c.score, 0); + return clamp0100(Math.round(weightedSum / totalWeight)); +} + +/** + * Compute the readiness aggregate from normalized category inputs. Categories + * with a `null` score are treated as absent: omitted from the contributing + * list, excluded from the weighted mean, and never silently zeroed. + */ +export function computeReadinessAggregate(inputs: ReadinessInputs): ReadinessAggregate { + const present = (Object.keys(inputs) as ReadinessCategory[]) + .filter((category) => inputs[category].score !== null) + .map((category): ReadinessComponent => ({ + category, + weight: READINESS_CATEGORY_WEIGHTS[category], + score: clamp0100(inputs[category].score as number), + inputCount: inputs[category].inputCount, + })) + // Deterministic ordering: by declared weight desc, then category name. + .sort((a, b) => (a.weight === b.weight ? a.category.localeCompare(b.category) : b.weight - a.weight)); + + const inputCount = present.reduce((sum, c) => sum + c.inputCount, 0); + + const planningComponents = present.filter((c) => PLANNING_CATEGORIES.includes(c.category)); + const planningConfidenceScore = + planningComponents.length === 0 ? 0 : weightedMean(planningComponents); + + return { + readinessScore: weightedMean(present), + planningConfidenceScore, + contributingCategories: present, + inputCount, + }; +} + +/** + * Build the human-readable explanation. Contains only category names, weights, + * scores, and input counts -- never evaluator names, ids, or comments. Absent + * categories are simply not listed. + */ +export function formatReadinessExplanation( + aggregate: ReadinessAggregate, + windowLabel: string | null, +): string { + const parts: string[] = [ + `Readiness${windowLabel ? ` for ${windowLabel}` : ""} (model v${READINESS_CALCULATION_VERSION}): ${READINESS_NATURE}.`, + ]; + + if (aggregate.contributingCategories.length === 0) { + parts.push( + "No qualifying operation data in the window; no aggregate produced.", + ); + return parts.join(" "); + } + + const declared = Object.keys(READINESS_CATEGORY_WEIGHTS).length; + parts.push( + `${aggregate.contributingCategories.length} contributing category(ies) out of ${declared} declared.`, + ); + + for (const c of aggregate.contributingCategories) { + const label = READINESS_CATEGORY_LABELS[c.category]; + parts.push(`${label} (weight ${c.weight}): score ${c.score} from ${c.inputCount} input(s).`); + } + + if (aggregate.planningConfidenceScore > 0) { + const planning = aggregate + .contributingCategories.filter((c) => PLANNING_CATEGORIES.includes(c.category)) + .map((c) => READINESS_CATEGORY_LABELS[c.category]); + parts.push( + `Planning confidence ${aggregate.planningConfidenceScore}: derived from ${planning.join(", ")}.`, + ); + } + + return parts.join(" "); +} + +/** Deep equality over the fields that make an aggregate stable for idempotency. + * Scores accept `null | undefined` because a freshly computed aggregate always + * has numbers while a stored json field may be absent. */ +export function isAggregateEqual( + a: { + readinessScore: number | null | undefined; + planningConfidenceScore: number | null | undefined; + contributingCategories: ReadinessAggregate["contributingCategories"]; + }, + b: { + readinessScore: number | null | undefined; + planningConfidenceScore: number | null | undefined; + contributingCategories: ReadinessAggregate["contributingCategories"]; + }, +): boolean { + if (a.readinessScore !== b.readinessScore) return false; + if (a.planningConfidenceScore !== b.planningConfidenceScore) return false; + return JSON.stringify(a.contributingCategories) === JSON.stringify(b.contributingCategories); +} diff --git a/src/lib/operations/readinessTypes.ts b/src/lib/operations/readinessTypes.ts new file mode 100644 index 0000000..78d65f2 --- /dev/null +++ b/src/lib/operations/readinessTypes.ts @@ -0,0 +1,129 @@ +/** + * Pure type + constant definitions for operation readiness computation. + * + * No Payload imports: safe to use from server actions, integration tests, and + * (later) client surfaces. All mutable state lives in the `operation-readiness` + * collection; this module only holds the deterministic model. + */ + +/** + * Readiness/planning-confidence is advisory only. `advisory` is the sole legal + * value and documents that the aggregate is never used to gate, punish, or rank + * players against one another. Any future gating layer must read + * `READINESS_GATING_ENABLED`, which stays false. + */ +export const READINESS_NATURE = "advisory" as const; +export type ReadinessNature = typeof READINESS_NATURE; + +/** + * Calculation model version. Bump whenever the weighting scheme or the set of + * contributing categories changes, so stale aggregates are detected and + * recomputed rather than served from a different model. Stored verbatim on each + * aggregate row for audit. + */ +export const READINESS_CALCULATION_VERSION = "1.0.0" as const; + +/** + * Feature flag for any future readiness gating. Defaults to false: this feature + * only produces advisory aggregates; it never blocks, punishes, or builds a + * global/social score. + */ +export const READINESS_GATING_ENABLED = false as const; + +/** Subject the aggregate is computed for. */ +export const READINESS_SUBJECT = { + USER: "user", + ROLE: "role", +} as const; +export type ReadinessSubjectType = typeof READINESS_SUBJECT[keyof typeof READINESS_SUBJECT]; + +/** + * Contributing categories and their declared weights. The weights are a fixed, + * documented ratio (they sum to 130; the aggregate normalizes over the sum of + * the *present* categories' weights). They are NOT tunable per-subject, so the + * model stays transparent with no hidden weighting. The category name is the + * only thing surfaced in the explanation -- never evaluator names, ids, or + * comment text. + */ +export const READINESS_CATEGORIES = { + PARTICIPATION: "participation", + ATTENDANCE: "attendance", + ASSIGNMENTS: "assignments", + EVALUATION: "evaluation", + OBJECTIVES: "objectives", + LOGISTICS: "logistics", +} as const; +export type ReadinessCategory = typeof READINESS_CATEGORIES[keyof typeof READINESS_CATEGORIES]; + +export const READINESS_CATEGORY_WEIGHTS: Record = { + participation: 25, + attendance: 20, + assignments: 25, + evaluation: 30, + objectives: 15, + logistics: 15, +}; + +/** Human-readable label for a contributing category (explanation text only). */ +export const READINESS_CATEGORY_LABELS: Record = { + participation: "Operation participation", + attendance: "Attendance", + assignments: "Assignments", + evaluation: "Leadership evaluation", + objectives: "Completed objectives", + logistics: "Logistics outcomes", +}; + +/** + * Pre-operation signals that feed the planning-confidence sub-score. These are + * the signals commanders rely on when planning, distinct from the broader + * readiness measure. + */ +export const PLANNING_CATEGORIES: readonly ReadinessCategory[] = ["attendance", "assignments"]; + +/** Normalized per-category input fed to the pure computation. */ +export interface ReadinessCategoryInput { + /** Category id. */ + category: ReadinessCategory; + /** Normalized 0-100 score; `null` means the category is absent and omitted. */ + score: number | null; + /** Raw component count, informational only. */ + inputCount: number; +} + +export interface ReadinessInputs { + participation: ReadinessCategoryInput; + attendance: ReadinessCategoryInput; + assignments: ReadinessCategoryInput; + evaluation: ReadinessCategoryInput; + objectives: ReadinessCategoryInput; + logistics: ReadinessCategoryInput; +} + +/** One contributing category in the produced aggregate. */ +export interface ReadinessComponent { + category: ReadinessCategory; + weight: number; + score: number; + inputCount: number; +} + +export interface ReadinessAggregate { + /** Weighted 0-100 readiness score over all present categories. */ + readinessScore: number; + /** Weighted 0-100 planning-confidence score over pre-op signals. */ + planningConfidenceScore: number; + /** Present categories only, sorted by weight desc then name. */ + contributingCategories: ReadinessComponent[]; + /** Total component inputs consumed. */ + inputCount: number; +} + +/** The stable identity of a stored aggregate: `subjectType:subjectId:windowStart`. */ +export function readinessAggregateKey( + subjectType: ReadinessSubjectType, + subjectId: number | null, + windowStart: Date, +): string { + return `${subjectType}:${subjectId ?? "none"}:${windowStart.toISOString()}`; +} diff --git a/src/lib/operations/territory.ts b/src/lib/operations/territory.ts new file mode 100644 index 0000000..4ec57cf --- /dev/null +++ b/src/lib/operations/territory.ts @@ -0,0 +1,217 @@ +/** + * Mission-scoped zone and faction pressure (task 7). + * + * Pressure is an additive strategic ledger over map zones: each settled + * operation end may apply ONE delta to ONE declared zone, attributed to the + * faction, mission, and source effect that caused it. The zone's strategic + * state is a deterministic function of the decayed pressure sum. + * + * Decay is computational, not stored: each delta's weight halves per elapsed + * decay period (7 days), so `effectivePressure` is deterministic for any + * `now` and needs no sweeper. + * + * Downstream mechanics (declared per plan: one at a time): route risk and + * resource-yield multipliers derive from the state. They are pure and tested + * here; wiring them into shipping/production consumers is deferred until the + * dirty uncommitted map/shipping/production baseline lands (task-1 ownership + * manifest forbids editing those files). + * + * Territory/border zone semantics are untouched: pressure never changes + * placement rules (terrain/resource validation in `src/lib/map/placement.ts` + * remains the only placement gate). + */ +import type { Payload, PayloadRequest } from "payload"; + +/** Half-life of a pressure delta, in days. */ +export const PRESSURE_DECAY_PERIOD_DAYS = 7; + +/** Documented state thresholds over the effective (decayed) pressure sum. */ +export const PRESSURE_STATE_THRESHOLDS = { + /** pressure >= 80: the hostile faction holds the zone. */ + controlled: 80, + /** pressure >= 40: actively fought over. */ + contested: 40, +} as const; + +/** + * Effective pressure below this is strategically nothing: the state is + * neutral. Halving decay never reaches exactly zero, so the state machine + * needs a convergence floor. + */ +export const PRESSURE_NEUTRAL_FLOOR = 0.5; + +/** Documented deltas applied per operation outcome. */ +export const PRESSURE_OUTCOME_DELTAS = { + /** Mission failure: hostile activity gains a foothold. */ + failure: 40, + /** Mission success: the zone is pushed back toward neutral. */ + success: -25, +} as const; + +export type ZonePressureState = + | "controlled" + | "contested" + | "recovering" + | "neutral"; + +export interface PressureRow { + delta: number; + createdAt: string; +} + +export interface ZoneState { + /** Decayed pressure sum, rounded to one decimal. */ + pressure: number; + state: ZonePressureState; + routeRiskMultiplier: number; + yieldMultiplier: number; + /** Number of live (non-fully-decayed) pressure rows. */ + activeRows: number; +} + +const MULTIPLIERS: Record = { + controlled: { routeRisk: 1.5, yield: 0.75 }, + contested: { routeRisk: 1.25, yield: 0.9 }, + recovering: { routeRisk: 1, yield: 1 }, + neutral: { routeRisk: 1, yield: 1 }, +}; + +/** Effective pressure of one delta, halved per full decay period elapsed. */ +export function decayedDelta(delta: number, createdAt: string, now: Date): number { + const created = new Date(createdAt).getTime(); + const elapsedDays = Math.max(0, (now.getTime() - created) / 86_400_000); + const periods = Math.floor(elapsedDays / PRESSURE_DECAY_PERIOD_DAYS); + return delta / 2 ** periods; +} + +/** Deterministic strategic state from the decayed pressure sum. */ +export function stateFromPressure(pressure: number): ZoneState { + const rounded = Math.round(pressure * 10) / 10; + const state: ZonePressureState = + rounded >= PRESSURE_STATE_THRESHOLDS.controlled + ? "controlled" + : rounded >= PRESSURE_STATE_THRESHOLDS.contested + ? "contested" + : rounded >= PRESSURE_NEUTRAL_FLOOR + ? "recovering" + : "neutral"; + return { + pressure: rounded, + state, + routeRiskMultiplier: MULTIPLIERS[state].routeRisk, + yieldMultiplier: MULTIPLIERS[state].yield, + activeRows: 0, + }; +} + +/** + * Sum decayed deltas from raw pressure rows (deterministic given `now`). + * Deltas decay toward zero symmetrically: hostile gains fade, and so do + * friendly reductions, so a zone naturally returns to neutral over time. + */ +export function effectivePressure(rows: PressureRow[], now: Date): ZoneState { + const pressure = rows.reduce((sum, row) => sum + decayedDelta(row.delta, row.createdAt, now), 0); + return stateFromPressure(pressure); +} + +// --------------------------------------------------------------------------- +// Payload interaction +// --------------------------------------------------------------------------- + +type PayloadType = Awaited>; + +export interface ApplyZonePressureInput { + zoneId: number; + factionId?: number; + operationId: string; + missionId?: number; + /** The settled operation-end effect driving this delta (idempotency key). */ + sourceEffectId: number; + delta: number; + note?: string; +} + +/** + * Apply one pressure delta, exactly once per source effect. A replay of the + * same effect is a no-op returning the existing row. + */ +export async function applyZonePressure( + payload: PayloadType, + input: ApplyZonePressureInput, + req?: PayloadRequest, +): Promise<{ id: number; created: boolean }> { + const existing = await payload.find({ + collection: "zone-pressure", + where: { sourceEffect: { equals: input.sourceEffectId } }, + limit: 1, + depth: 0, + overrideAccess: true, + req, + }); + if (existing.docs.length > 0) { + return { id: existing.docs[0].id, created: false }; + } + + try { + const row = await payload.create({ + collection: "zone-pressure", + data: { + zone: input.zoneId, + faction: input.factionId ?? null, + operationId: input.operationId, + mission: input.missionId ?? null, + sourceEffect: input.sourceEffectId, + delta: input.delta, + note: input.note ?? null, + }, + overrideAccess: true, + depth: 0, + req, + }); + return { id: row.id, created: true }; + } catch (error) { + const code = (error as { cause?: { code?: string } })?.cause?.code; + if (code === "23505") { + // Unique-constraint race on sourceEffect: the other writer won. + const raced = await payload.find({ + collection: "zone-pressure", + where: { sourceEffect: { equals: input.sourceEffectId } }, + limit: 1, + depth: 0, + overrideAccess: true, + req, + }); + if (raced.docs.length > 0) return { id: raced.docs[0].id, created: false }; + } + throw error; + } +} + +/** + * Compute a zone's strategic state from its live pressure ledger. Deterministic + * for a given `now`; defaults to the current time. + */ +export async function computeZoneState( + payload: PayloadType, + zoneId: number, + now: Date = new Date(), +): Promise { + const rows = await payload.find({ + collection: "zone-pressure", + where: { zone: { equals: zoneId } }, + limit: 1000, + depth: 0, + overrideAccess: true, + }); + + const live: PressureRow[] = []; + let activeRows = 0; + for (const doc of rows.docs as unknown as { delta: number; createdAt: string }[]) { + const effective = decayedDelta(doc.delta, doc.createdAt, now); + if (Math.abs(effective) >= 0.1) activeRows += 1; + live.push({ delta: doc.delta, createdAt: doc.createdAt }); + } + + const state = effectivePressure(live, now); + return { ...state, activeRows }; +} diff --git a/src/migrations/20260918_222549_add_operation_readiness.json b/src/migrations/20260918_222549_add_operation_readiness.json new file mode 100644 index 0000000..e7923c3 --- /dev/null +++ b/src/migrations/20260918_222549_add_operation_readiness.json @@ -0,0 +1,30861 @@ +{ + "version": "7", + "dialect": "postgresql", + "tables": { + "public.media": { + "name": "media", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "alt": { + "name": "alt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "thumbnail_u_r_l": { + "name": "thumbnail_u_r_l", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filename": { + "name": "filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "mime_type": { + "name": "mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filesize": { + "name": "filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_x": { + "name": "focal_x", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_y": { + "name": "focal_y", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "media_updated_at_idx": { + "name": "media_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_created_at_idx": { + "name": "media_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_filename_idx": { + "name": "media_filename_idx", + "columns": [ + { + "expression": "filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_hard_resources": { + "name": "game_hard_resources", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_hard_resources_name_idx": { + "name": "game_hard_resources_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_hard_resources_updated_at_idx": { + "name": "game_hard_resources_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_hard_resources_created_at_idx": { + "name": "game_hard_resources_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures_labor_requirements": { + "name": "game_structures_labor_requirements", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "classification_id": { + "name": "classification_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "required_headcount": { + "name": "required_headcount", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "max_headcount": { + "name": "max_headcount", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "enforced_salary": { + "name": "enforced_salary", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "game_structures_labor_requirements_order_idx": { + "name": "game_structures_labor_requirements_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_labor_requirements_parent_id_idx": { + "name": "game_structures_labor_requirements_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_labor_requirements_classification_idx": { + "name": "game_structures_labor_requirements_classification_idx", + "columns": [ + { + "expression": "classification_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_labor_requirements_classification_id_labor_classifications_id_fk": { + "name": "game_structures_labor_requirements_classification_id_labor_classifications_id_fk", + "tableFrom": "game_structures_labor_requirements", + "tableTo": "labor_classifications", + "columnsFrom": [ + "classification_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_labor_requirements_parent_id_fk": { + "name": "game_structures_labor_requirements_parent_id_fk", + "tableFrom": "game_structures_labor_requirements", + "tableTo": "game_structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures_staff_positions": { + "name": "game_structures_staff_positions", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "position_type": { + "name": "position_type", + "type": "enum_game_structures_staff_positions_position_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "max": { + "name": "max", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "enforced_salary": { + "name": "enforced_salary", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "game_structures_staff_positions_order_idx": { + "name": "game_structures_staff_positions_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_staff_positions_parent_id_idx": { + "name": "game_structures_staff_positions_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_staff_positions_parent_id_fk": { + "name": "game_structures_staff_positions_parent_id_fk", + "tableFrom": "game_structures_staff_positions", + "tableTo": "game_structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures_production_inputs": { + "name": "game_structures_production_inputs", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount_per_hour": { + "name": "amount_per_hour", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + } + }, + "indexes": { + "game_structures_production_inputs_order_idx": { + "name": "game_structures_production_inputs_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_production_inputs_parent_id_idx": { + "name": "game_structures_production_inputs_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_production_inputs_resource_idx": { + "name": "game_structures_production_inputs_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_production_inputs_resource_id_resources_id_fk": { + "name": "game_structures_production_inputs_resource_id_resources_id_fk", + "tableFrom": "game_structures_production_inputs", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_production_inputs_parent_id_fk": { + "name": "game_structures_production_inputs_parent_id_fk", + "tableFrom": "game_structures_production_inputs", + "tableTo": "game_structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures_production_outputs": { + "name": "game_structures_production_outputs", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount_per_hour": { + "name": "amount_per_hour", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + } + }, + "indexes": { + "game_structures_production_outputs_order_idx": { + "name": "game_structures_production_outputs_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_production_outputs_parent_id_idx": { + "name": "game_structures_production_outputs_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_production_outputs_resource_idx": { + "name": "game_structures_production_outputs_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_production_outputs_resource_id_resources_id_fk": { + "name": "game_structures_production_outputs_resource_id_resources_id_fk", + "tableFrom": "game_structures_production_outputs", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_production_outputs_parent_id_fk": { + "name": "game_structures_production_outputs_parent_id_fk", + "tableFrom": "game_structures_production_outputs", + "tableTo": "game_structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures_installed_modules": { + "name": "game_structures_installed_modules", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "installed_at": { + "name": "installed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "game_structures_installed_modules_order_idx": { + "name": "game_structures_installed_modules_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_installed_modules_parent_id_idx": { + "name": "game_structures_installed_modules_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_installed_modules_parent_id_fk": { + "name": "game_structures_installed_modules_parent_id_fk", + "tableFrom": "game_structures_installed_modules", + "tableTo": "game_structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures_stored_resources": { + "name": "game_structures_stored_resources", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_x": { + "name": "grid_x", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_y": { + "name": "grid_y", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "rotated": { + "name": "rotated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": { + "game_structures_stored_resources_order_idx": { + "name": "game_structures_stored_resources_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_stored_resources_parent_id_idx": { + "name": "game_structures_stored_resources_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_stored_resources_resource_idx": { + "name": "game_structures_stored_resources_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_stored_resources_resource_id_resources_id_fk": { + "name": "game_structures_stored_resources_resource_id_resources_id_fk", + "tableFrom": "game_structures_stored_resources", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_stored_resources_parent_id_fk": { + "name": "game_structures_stored_resources_parent_id_fk", + "tableFrom": "game_structures_stored_resources", + "tableTo": "game_structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures_void_storage": { + "name": "game_structures_void_storage", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_x": { + "name": "grid_x", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_y": { + "name": "grid_y", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "rotated": { + "name": "rotated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": { + "game_structures_void_storage_order_idx": { + "name": "game_structures_void_storage_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_void_storage_parent_id_idx": { + "name": "game_structures_void_storage_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_void_storage_resource_idx": { + "name": "game_structures_void_storage_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_void_storage_resource_id_resources_id_fk": { + "name": "game_structures_void_storage_resource_id_resources_id_fk", + "tableFrom": "game_structures_void_storage", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_void_storage_parent_id_fk": { + "name": "game_structures_void_storage_parent_id_fk", + "tableFrom": "game_structures_void_storage", + "tableTo": "game_structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures": { + "name": "game_structures", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type_id": { + "name": "type_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "faction_id": { + "name": "faction_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "map_id": { + "name": "map_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "construction_status": { + "name": "construction_status", + "type": "enum_game_structures_construction_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'complete'" + }, + "construction_started_at": { + "name": "construction_started_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "construction_completes_at": { + "name": "construction_completes_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "maintenance_cost": { + "name": "maintenance_cost", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "production_paused": { + "name": "production_paused", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "last_production_at": { + "name": "last_production_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "production_stall_reason": { + "name": "production_stall_reason", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "coordinates": { + "name": "coordinates", + "type": "geometry(Point)", + "primaryKey": false, + "notNull": false + }, + "label_visible": { + "name": "label_visible", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "label_priority": { + "name": "label_priority", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "parent_structure_id": { + "name": "parent_structure_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_structures_type_idx": { + "name": "game_structures_type_idx", + "columns": [ + { + "expression": "type_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_faction_idx": { + "name": "game_structures_faction_idx", + "columns": [ + { + "expression": "faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_map_idx": { + "name": "game_structures_map_idx", + "columns": [ + { + "expression": "map_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_parent_structure_idx": { + "name": "game_structures_parent_structure_idx", + "columns": [ + { + "expression": "parent_structure_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_updated_at_idx": { + "name": "game_structures_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_created_at_idx": { + "name": "game_structures_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_type_id_structures_id_fk": { + "name": "game_structures_type_id_structures_id_fk", + "tableFrom": "game_structures", + "tableTo": "structures", + "columnsFrom": [ + "type_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_faction_id_factions_id_fk": { + "name": "game_structures_faction_id_factions_id_fk", + "tableFrom": "game_structures", + "tableTo": "factions", + "columnsFrom": [ + "faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_map_id_maps_id_fk": { + "name": "game_structures_map_id_maps_id_fk", + "tableFrom": "game_structures", + "tableTo": "maps", + "columnsFrom": [ + "map_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_parent_structure_id_game_structures_id_fk": { + "name": "game_structures_parent_structure_id_game_structures_id_fk", + "tableFrom": "game_structures", + "tableTo": "game_structures", + "columnsFrom": [ + "parent_structure_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_vehicles_stored_resources": { + "name": "game_vehicles_stored_resources", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_x": { + "name": "grid_x", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_y": { + "name": "grid_y", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "rotated": { + "name": "rotated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": { + "game_vehicles_stored_resources_order_idx": { + "name": "game_vehicles_stored_resources_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_stored_resources_parent_id_idx": { + "name": "game_vehicles_stored_resources_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_stored_resources_resource_idx": { + "name": "game_vehicles_stored_resources_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_vehicles_stored_resources_resource_id_resources_id_fk": { + "name": "game_vehicles_stored_resources_resource_id_resources_id_fk", + "tableFrom": "game_vehicles_stored_resources", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_vehicles_stored_resources_parent_id_fk": { + "name": "game_vehicles_stored_resources_parent_id_fk", + "tableFrom": "game_vehicles_stored_resources", + "tableTo": "game_vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_vehicles_void_storage": { + "name": "game_vehicles_void_storage", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_x": { + "name": "grid_x", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_y": { + "name": "grid_y", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "rotated": { + "name": "rotated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": { + "game_vehicles_void_storage_order_idx": { + "name": "game_vehicles_void_storage_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_void_storage_parent_id_idx": { + "name": "game_vehicles_void_storage_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_void_storage_resource_idx": { + "name": "game_vehicles_void_storage_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_vehicles_void_storage_resource_id_resources_id_fk": { + "name": "game_vehicles_void_storage_resource_id_resources_id_fk", + "tableFrom": "game_vehicles_void_storage", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_vehicles_void_storage_parent_id_fk": { + "name": "game_vehicles_void_storage_parent_id_fk", + "tableFrom": "game_vehicles_void_storage", + "tableTo": "game_vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_vehicles": { + "name": "game_vehicles", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type_id": { + "name": "type_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "deployed_at_id": { + "name": "deployed_at_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "faction_id": { + "name": "faction_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_game_vehicles_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "current_fuel": { + "name": "current_fuel", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "current_health": { + "name": "current_health", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_vehicles_type_idx": { + "name": "game_vehicles_type_idx", + "columns": [ + { + "expression": "type_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_deployed_at_idx": { + "name": "game_vehicles_deployed_at_idx", + "columns": [ + { + "expression": "deployed_at_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_faction_idx": { + "name": "game_vehicles_faction_idx", + "columns": [ + { + "expression": "faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_updated_at_idx": { + "name": "game_vehicles_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_created_at_idx": { + "name": "game_vehicles_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_vehicles_type_id_vehicles_id_fk": { + "name": "game_vehicles_type_id_vehicles_id_fk", + "tableFrom": "game_vehicles", + "tableTo": "vehicles", + "columnsFrom": [ + "type_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_vehicles_deployed_at_id_game_structures_id_fk": { + "name": "game_vehicles_deployed_at_id_game_structures_id_fk", + "tableFrom": "game_vehicles", + "tableTo": "game_structures", + "columnsFrom": [ + "deployed_at_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_vehicles_faction_id_factions_id_fk": { + "name": "game_vehicles_faction_id_factions_id_fk", + "tableFrom": "game_vehicles", + "tableTo": "factions", + "columnsFrom": [ + "faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_npcs": { + "name": "game_npcs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "occupation": { + "name": "occupation", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "location_id": { + "name": "location_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "faction_id": { + "name": "faction_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "bio": { + "name": "bio", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "is_generated": { + "name": "is_generated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "is_in_game": { + "name": "is_in_game", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "vendor_enabled": { + "name": "vendor_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "vendor_price_modifier": { + "name": "vendor_price_modifier", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_npcs_location_idx": { + "name": "game_npcs_location_idx", + "columns": [ + { + "expression": "location_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_faction_idx": { + "name": "game_npcs_faction_idx", + "columns": [ + { + "expression": "faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_updated_at_idx": { + "name": "game_npcs_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_created_at_idx": { + "name": "game_npcs_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_npcs_location_id_game_structures_id_fk": { + "name": "game_npcs_location_id_game_structures_id_fk", + "tableFrom": "game_npcs", + "tableTo": "game_structures", + "columnsFrom": [ + "location_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_npcs_faction_id_factions_id_fk": { + "name": "game_npcs_faction_id_factions_id_fk", + "tableFrom": "game_npcs", + "tableTo": "factions", + "columnsFrom": [ + "faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_npcs_rels": { + "name": "game_npcs_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "game_npcs_rels_order_idx": { + "name": "game_npcs_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_rels_parent_idx": { + "name": "game_npcs_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_rels_path_idx": { + "name": "game_npcs_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_rels_assets_id_idx": { + "name": "game_npcs_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_npcs_rels_parent_fk": { + "name": "game_npcs_rels_parent_fk", + "tableFrom": "game_npcs_rels", + "tableTo": "game_npcs", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "game_npcs_rels_assets_fk": { + "name": "game_npcs_rels_assets_fk", + "tableFrom": "game_npcs_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.npc_staffing": { + "name": "npc_staffing", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "npc_id": { + "name": "npc_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "structure_id": { + "name": "structure_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "position_type": { + "name": "position_type", + "type": "enum_npc_staffing_position_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'labor'" + }, + "position_title": { + "name": "position_title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "headcount": { + "name": "headcount", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "labor_classification_id": { + "name": "labor_classification_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "salary": { + "name": "salary", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "status": { + "name": "status", + "type": "enum_npc_staffing_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'active'" + }, + "hired_at": { + "name": "hired_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "terminated_at": { + "name": "terminated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "notes": { + "name": "notes", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "npc_staffing_npc_idx": { + "name": "npc_staffing_npc_idx", + "columns": [ + { + "expression": "npc_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "npc_staffing_structure_idx": { + "name": "npc_staffing_structure_idx", + "columns": [ + { + "expression": "structure_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "npc_staffing_labor_classification_idx": { + "name": "npc_staffing_labor_classification_idx", + "columns": [ + { + "expression": "labor_classification_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "npc_staffing_updated_at_idx": { + "name": "npc_staffing_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "npc_staffing_created_at_idx": { + "name": "npc_staffing_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "npc_staffing_npc_id_game_npcs_id_fk": { + "name": "npc_staffing_npc_id_game_npcs_id_fk", + "tableFrom": "npc_staffing", + "tableTo": "game_npcs", + "columnsFrom": [ + "npc_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "npc_staffing_structure_id_game_structures_id_fk": { + "name": "npc_staffing_structure_id_game_structures_id_fk", + "tableFrom": "npc_staffing", + "tableTo": "game_structures", + "columnsFrom": [ + "structure_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "npc_staffing_labor_classification_id_labor_classifications_id_fk": { + "name": "npc_staffing_labor_classification_id_labor_classifications_id_fk", + "tableFrom": "npc_staffing", + "tableTo": "labor_classifications", + "columnsFrom": [ + "labor_classification_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.labor_classifications": { + "name": "labor_classifications", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "default_unit_salary": { + "name": "default_unit_salary", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "build_efficiency": { + "name": "build_efficiency", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "available_headcount": { + "name": "available_headcount", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "labor_classifications_name_idx": { + "name": "labor_classifications_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "labor_classifications_key_idx": { + "name": "labor_classifications_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "labor_classifications_updated_at_idx": { + "name": "labor_classifications_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "labor_classifications_created_at_idx": { + "name": "labor_classifications_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_event_logs": { + "name": "game_event_logs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "system": { + "name": "system", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "timestamp": { + "name": "timestamp", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "message": { + "name": "message", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "actor_id": { + "name": "actor_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "structure_id": { + "name": "structure_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "target_collection": { + "name": "target_collection", + "type": "enum_game_event_logs_target_collection", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "target_id": { + "name": "target_id", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "data": { + "name": "data", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_event_logs_type_idx": { + "name": "game_event_logs_type_idx", + "columns": [ + { + "expression": "type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_event_logs_actor_idx": { + "name": "game_event_logs_actor_idx", + "columns": [ + { + "expression": "actor_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_event_logs_structure_idx": { + "name": "game_event_logs_structure_idx", + "columns": [ + { + "expression": "structure_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_event_logs_updated_at_idx": { + "name": "game_event_logs_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_event_logs_created_at_idx": { + "name": "game_event_logs_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_event_logs_actor_id_users_id_fk": { + "name": "game_event_logs_actor_id_users_id_fk", + "tableFrom": "game_event_logs", + "tableTo": "users", + "columnsFrom": [ + "actor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_event_logs_structure_id_game_structures_id_fk": { + "name": "game_event_logs_structure_id_game_structures_id_fk", + "tableFrom": "game_event_logs", + "tableTo": "game_structures", + "columnsFrom": [ + "structure_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users_roles": { + "name": "users_roles", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_users_roles", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "users_roles_order_idx": { + "name": "users_roles_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_roles_parent_idx": { + "name": "users_roles_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_roles_parent_fk": { + "name": "users_roles_parent_fk", + "tableFrom": "users_roles", + "tableTo": "users", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users_preferences_notifications_muted_types": { + "name": "users_preferences_notifications_muted_types", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_users_preferences_notifications_muted_types", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "users_preferences_notifications_muted_types_order_idx": { + "name": "users_preferences_notifications_muted_types_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_preferences_notifications_muted_types_parent_idx": { + "name": "users_preferences_notifications_muted_types_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_preferences_notifications_muted_types_parent_fk": { + "name": "users_preferences_notifications_muted_types_parent_fk", + "tableFrom": "users_preferences_notifications_muted_types", + "tableTo": "users", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users_preferences_discord_muted_types": { + "name": "users_preferences_discord_muted_types", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_users_preferences_discord_muted_types", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "users_preferences_discord_muted_types_order_idx": { + "name": "users_preferences_discord_muted_types_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_preferences_discord_muted_types_parent_idx": { + "name": "users_preferences_discord_muted_types_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_preferences_discord_muted_types_parent_fk": { + "name": "users_preferences_discord_muted_types_parent_fk", + "tableFrom": "users_preferences_discord_muted_types", + "tableTo": "users", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users_sessions": { + "name": "users_sessions", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "users_sessions_order_idx": { + "name": "users_sessions_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_sessions_parent_id_idx": { + "name": "users_sessions_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_sessions_parent_id_fk": { + "name": "users_sessions_parent_id_fk", + "tableFrom": "users_sessions", + "tableTo": "users", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users": { + "name": "users", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "discord_username": { + "name": "discord_username", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "discord_id": { + "name": "discord_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "display_name": { + "name": "display_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "payload_display_name": { + "name": "payload_display_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "steam_id": { + "name": "steam_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "preferences_notifications_muted_all": { + "name": "preferences_notifications_muted_all", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "preferences_display_show_callsign": { + "name": "preferences_display_show_callsign", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "preferences_display_lead_or_actual": { + "name": "preferences_display_lead_or_actual", + "type": "enum_users_preferences_display_lead_or_actual", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'lead'" + }, + "preferences_display_show_version_overlay": { + "name": "preferences_display_show_version_overlay", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "preferences_display_xp_display_mini": { + "name": "preferences_display_xp_display_mini", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "preferences_display_show_background_texture": { + "name": "preferences_display_show_background_texture", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "preferences_discord_enabled": { + "name": "preferences_discord_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "preferences_dashboard_layout": { + "name": "preferences_dashboard_layout", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "email": { + "name": "email", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "username": { + "name": "username", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "reset_password_token": { + "name": "reset_password_token", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "reset_password_expiration": { + "name": "reset_password_expiration", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "salt": { + "name": "salt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "hash": { + "name": "hash", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "login_attempts": { + "name": "login_attempts", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "lock_until": { + "name": "lock_until", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "users_discord_username_idx": { + "name": "users_discord_username_idx", + "columns": [ + { + "expression": "discord_username", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_discord_id_idx": { + "name": "users_discord_id_idx", + "columns": [ + { + "expression": "discord_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_updated_at_idx": { + "name": "users_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_created_at_idx": { + "name": "users_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_username_idx": { + "name": "users_username_idx", + "columns": [ + { + "expression": "username", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users_rels": { + "name": "users_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "roles_id": { + "name": "roles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "users_rels_order_idx": { + "name": "users_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_rels_parent_idx": { + "name": "users_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_rels_path_idx": { + "name": "users_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_rels_roles_id_idx": { + "name": "users_rels_roles_id_idx", + "columns": [ + { + "expression": "roles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_rels_parent_fk": { + "name": "users_rels_parent_fk", + "tableFrom": "users_rels", + "tableTo": "users", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "users_rels_roles_fk": { + "name": "users_rels_roles_fk", + "tableFrom": "users_rels", + "tableTo": "roles", + "columnsFrom": [ + "roles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.roles_permissions": { + "name": "roles_permissions", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_roles_permissions", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "roles_permissions_order_idx": { + "name": "roles_permissions_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "roles_permissions_parent_idx": { + "name": "roles_permissions_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "roles_permissions_parent_fk": { + "name": "roles_permissions_parent_fk", + "tableFrom": "roles_permissions", + "tableTo": "roles", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.roles": { + "name": "roles", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "is_system": { + "name": "is_system", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "is_superuser": { + "name": "is_superuser", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "roles_name_idx": { + "name": "roles_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "roles_slug_idx": { + "name": "roles_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "roles_updated_at_idx": { + "name": "roles_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "roles_created_at_idx": { + "name": "roles_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.roles_rels": { + "name": "roles_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "roles_id": { + "name": "roles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "roles_rels_order_idx": { + "name": "roles_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "roles_rels_parent_idx": { + "name": "roles_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "roles_rels_path_idx": { + "name": "roles_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "roles_rels_roles_id_idx": { + "name": "roles_rels_roles_id_idx", + "columns": [ + { + "expression": "roles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "roles_rels_parent_fk": { + "name": "roles_rels_parent_fk", + "tableFrom": "roles_rels", + "tableTo": "roles", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "roles_rels_roles_fk": { + "name": "roles_rels_roles_fk", + "tableFrom": "roles_rels", + "tableTo": "roles", + "columnsFrom": [ + "roles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ranks": { + "name": "ranks", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_order": { + "name": "_order", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "abbreviation": { + "name": "abbreviation", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "insignia_id": { + "name": "insignia_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "promotion_ceiling_id": { + "name": "promotion_ceiling_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "ranks__order_idx": { + "name": "ranks__order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_name_idx": { + "name": "ranks_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_abbreviation_idx": { + "name": "ranks_abbreviation_idx", + "columns": [ + { + "expression": "abbreviation", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_insignia_idx": { + "name": "ranks_insignia_idx", + "columns": [ + { + "expression": "insignia_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_promotion_ceiling_idx": { + "name": "ranks_promotion_ceiling_idx", + "columns": [ + { + "expression": "promotion_ceiling_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_updated_at_idx": { + "name": "ranks_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_created_at_idx": { + "name": "ranks_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "ranks_insignia_id_media_id_fk": { + "name": "ranks_insignia_id_media_id_fk", + "tableFrom": "ranks", + "tableTo": "media", + "columnsFrom": [ + "insignia_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "ranks_promotion_ceiling_id_ranks_id_fk": { + "name": "ranks_promotion_ceiling_id_ranks_id_fk", + "tableFrom": "ranks", + "tableTo": "ranks", + "columnsFrom": [ + "promotion_ceiling_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.profiles_progression_awards": { + "name": "profiles_progression_awards", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "award_id": { + "name": "award_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "awarded_by_id": { + "name": "awarded_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "awarded_at": { + "name": "awarded_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "award_reason": { + "name": "award_reason", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "upgraded_from_id": { + "name": "upgraded_from_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "upgraded_at": { + "name": "upgraded_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "profiles_progression_awards_order_idx": { + "name": "profiles_progression_awards_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_progression_awards_parent_id_idx": { + "name": "profiles_progression_awards_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_progression_awards_award_idx": { + "name": "profiles_progression_awards_award_idx", + "columns": [ + { + "expression": "award_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_progression_awards_awarded_by_idx": { + "name": "profiles_progression_awards_awarded_by_idx", + "columns": [ + { + "expression": "awarded_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_progression_awards_upgraded_from_idx": { + "name": "profiles_progression_awards_upgraded_from_idx", + "columns": [ + { + "expression": "upgraded_from_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "profiles_progression_awards_award_id_awards_id_fk": { + "name": "profiles_progression_awards_award_id_awards_id_fk", + "tableFrom": "profiles_progression_awards", + "tableTo": "awards", + "columnsFrom": [ + "award_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "profiles_progression_awards_awarded_by_id_profiles_id_fk": { + "name": "profiles_progression_awards_awarded_by_id_profiles_id_fk", + "tableFrom": "profiles_progression_awards", + "tableTo": "profiles", + "columnsFrom": [ + "awarded_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "profiles_progression_awards_upgraded_from_id_awards_id_fk": { + "name": "profiles_progression_awards_upgraded_from_id_awards_id_fk", + "tableFrom": "profiles_progression_awards", + "tableTo": "awards", + "columnsFrom": [ + "upgraded_from_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "profiles_progression_awards_parent_id_fk": { + "name": "profiles_progression_awards_parent_id_fk", + "tableFrom": "profiles_progression_awards", + "tableTo": "profiles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.profiles": { + "name": "profiles", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "rank_id": { + "name": "rank_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "dossier_enlistment_date": { + "name": "dossier_enlistment_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "dossier_personal_excerpt": { + "name": "dossier_personal_excerpt", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "dossier_intel_excerpt": { + "name": "dossier_intel_excerpt", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "progression_scoreboard_infantry_kills": { + "name": "progression_scoreboard_infantry_kills", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_scoreboard_vehicle_kills": { + "name": "progression_scoreboard_vehicle_kills", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_scoreboard_armor_kills": { + "name": "progression_scoreboard_armor_kills", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_scoreboard_air_kills": { + "name": "progression_scoreboard_air_kills", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_scoreboard_deaths": { + "name": "progression_scoreboard_deaths", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_flappy_bird_games_played": { + "name": "progression_minigames_flappy_bird_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_flappy_bird_total_passes": { + "name": "progression_minigames_flappy_bird_total_passes", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_flappy_bird_best_score": { + "name": "progression_minigames_flappy_bird_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_flappy_bird_xp_earned": { + "name": "progression_minigames_flappy_bird_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_games_played": { + "name": "progression_minigames_eod_minesweeper_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_wins": { + "name": "progression_minigames_eod_minesweeper_wins", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_losses": { + "name": "progression_minigames_eod_minesweeper_losses", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_best_score": { + "name": "progression_minigames_eod_minesweeper_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_xp_earned": { + "name": "progression_minigames_eod_minesweeper_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_best_training_time": { + "name": "progression_minigames_eod_minesweeper_best_training_time", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_best_perimeter_time": { + "name": "progression_minigames_eod_minesweeper_best_perimeter_time", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_best_supply_road_time": { + "name": "progression_minigames_eod_minesweeper_best_supply_road_time", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_best_training_flags": { + "name": "progression_minigames_eod_minesweeper_best_training_flags", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_best_perimeter_flags": { + "name": "progression_minigames_eod_minesweeper_best_perimeter_flags", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_best_supply_road_flags": { + "name": "progression_minigames_eod_minesweeper_best_supply_road_flags", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_games_played": { + "name": "progression_minigames_radio_traffic_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_total_messages": { + "name": "progression_minigames_radio_traffic_total_messages", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_incorrect_messages": { + "name": "progression_minigames_radio_traffic_incorrect_messages", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_best_score": { + "name": "progression_minigames_radio_traffic_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_best_accuracy": { + "name": "progression_minigames_radio_traffic_best_accuracy", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_best_sprint_time_ms": { + "name": "progression_minigames_radio_traffic_best_sprint_time_ms", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_sprint_games_played": { + "name": "progression_minigames_radio_traffic_sprint_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_sprint_total_messages": { + "name": "progression_minigames_radio_traffic_sprint_total_messages", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_sprint_incorrect_messages": { + "name": "progression_minigames_radio_traffic_sprint_incorrect_messages", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_sprint_best_score": { + "name": "progression_minigames_radio_traffic_sprint_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_sprint_best_accuracy": { + "name": "progression_minigames_radio_traffic_sprint_best_accuracy", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_watch_games_played": { + "name": "progression_minigames_radio_traffic_watch_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_watch_total_messages": { + "name": "progression_minigames_radio_traffic_watch_total_messages", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_watch_incorrect_messages": { + "name": "progression_minigames_radio_traffic_watch_incorrect_messages", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_watch_best_score": { + "name": "progression_minigames_radio_traffic_watch_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_watch_best_accuracy": { + "name": "progression_minigames_radio_traffic_watch_best_accuracy", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_xp_earned": { + "name": "progression_minigames_radio_traffic_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_games_played": { + "name": "progression_minigames_aim_trainer_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_best_score": { + "name": "progression_minigames_aim_trainer_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_recruit_best_score": { + "name": "progression_minigames_aim_trainer_recruit_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_veteran_best_score": { + "name": "progression_minigames_aim_trainer_veteran_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_elite_best_score": { + "name": "progression_minigames_aim_trainer_elite_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_recruit_best_accuracy": { + "name": "progression_minigames_aim_trainer_recruit_best_accuracy", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_veteran_best_accuracy": { + "name": "progression_minigames_aim_trainer_veteran_best_accuracy", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_elite_best_accuracy": { + "name": "progression_minigames_aim_trainer_elite_best_accuracy", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_xp_earned": { + "name": "progression_minigames_aim_trainer_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_opord_recall_games_played": { + "name": "progression_minigames_opord_recall_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_opord_recall_best_score": { + "name": "progression_minigames_opord_recall_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_opord_recall_best_accuracy": { + "name": "progression_minigames_opord_recall_best_accuracy", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_opord_recall_recruit_best_score": { + "name": "progression_minigames_opord_recall_recruit_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_opord_recall_veteran_best_score": { + "name": "progression_minigames_opord_recall_veteran_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_opord_recall_elite_best_score": { + "name": "progression_minigames_opord_recall_elite_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_opord_recall_recruit_best_time_ms": { + "name": "progression_minigames_opord_recall_recruit_best_time_ms", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "progression_minigames_opord_recall_veteran_best_time_ms": { + "name": "progression_minigames_opord_recall_veteran_best_time_ms", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "progression_minigames_opord_recall_elite_best_time_ms": { + "name": "progression_minigames_opord_recall_elite_best_time_ms", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "progression_minigames_opord_recall_xp_earned": { + "name": "progression_minigames_opord_recall_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_poker_games_played": { + "name": "progression_minigames_poker_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_poker_wins": { + "name": "progression_minigames_poker_wins", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_poker_second_places": { + "name": "progression_minigames_poker_second_places", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_poker_third_places": { + "name": "progression_minigames_poker_third_places", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_poker_fourth_places": { + "name": "progression_minigames_poker_fourth_places", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_poker_hands_won": { + "name": "progression_minigames_poker_hands_won", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_poker_best_score": { + "name": "progression_minigames_poker_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_poker_xp_earned": { + "name": "progression_minigames_poker_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_blackjack_games_played": { + "name": "progression_minigames_blackjack_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_blackjack_rounds_won": { + "name": "progression_minigames_blackjack_rounds_won", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_blackjack_blackjacks_hit": { + "name": "progression_minigames_blackjack_blackjacks_hit", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_blackjack_best_score": { + "name": "progression_minigames_blackjack_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_blackjack_xp_earned": { + "name": "progression_minigames_blackjack_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_chip_bank": { + "name": "progression_chip_bank", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_chip_bank_refilled_at": { + "name": "progression_chip_bank_refilled_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "progression_voiceover_xp_earned": { + "name": "progression_voiceover_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "profiles_user_idx": { + "name": "profiles_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_rank_idx": { + "name": "profiles_rank_idx", + "columns": [ + { + "expression": "rank_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_updated_at_idx": { + "name": "profiles_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_created_at_idx": { + "name": "profiles_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "profiles_user_id_users_id_fk": { + "name": "profiles_user_id_users_id_fk", + "tableFrom": "profiles", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "profiles_rank_id_ranks_id_fk": { + "name": "profiles_rank_id_ranks_id_fk", + "tableFrom": "profiles", + "tableTo": "ranks", + "columnsFrom": [ + "rank_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.profiles_rels": { + "name": "profiles_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "qualifications_id": { + "name": "qualifications_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "profiles_rels_order_idx": { + "name": "profiles_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_rels_parent_idx": { + "name": "profiles_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_rels_path_idx": { + "name": "profiles_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_rels_qualifications_id_idx": { + "name": "profiles_rels_qualifications_id_idx", + "columns": [ + { + "expression": "qualifications_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "profiles_rels_parent_fk": { + "name": "profiles_rels_parent_fk", + "tableFrom": "profiles_rels", + "tableTo": "profiles", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "profiles_rels_qualifications_fk": { + "name": "profiles_rels_qualifications_fk", + "tableFrom": "profiles_rels", + "tableTo": "qualifications", + "columnsFrom": [ + "qualifications_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.awards_grant_config_allowed_grantor_assignment_types": { + "name": "awards_grant_config_allowed_grantor_assignment_types", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_awards_grant_config_allowed_grantor_assignment_types", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "awards_grant_config_allowed_grantor_assignment_types_order_idx": { + "name": "awards_grant_config_allowed_grantor_assignment_types_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_grant_config_allowed_grantor_assignment_types_parent_idx": { + "name": "awards_grant_config_allowed_grantor_assignment_types_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "awards_grant_config_allowed_grantor_assignment_types_parent_fk": { + "name": "awards_grant_config_allowed_grantor_assignment_types_parent_fk", + "tableFrom": "awards_grant_config_allowed_grantor_assignment_types", + "tableTo": "awards", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.awards": { + "name": "awards", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_awards_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'commendation'" + }, + "commendation_color": { + "name": "commendation_color", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'#92400e'" + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "experience_points": { + "name": "experience_points", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "ribbon_design": { + "name": "ribbon_design", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "background_image_id": { + "name": "background_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "medal_design": { + "name": "medal_design", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "advancement_series_key": { + "name": "advancement_series_key", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "advancement_tier": { + "name": "advancement_tier", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "grant_config_max_grants_per_grantor": { + "name": "grant_config_max_grants_per_grantor", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "grant_config_recipient_scope": { + "name": "grant_config_recipient_scope", + "type": "enum_awards_grant_config_recipient_scope", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'same_command'" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "awards_name_idx": { + "name": "awards_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_image_idx": { + "name": "awards_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_background_image_idx": { + "name": "awards_background_image_idx", + "columns": [ + { + "expression": "background_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_updated_at_idx": { + "name": "awards_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_created_at_idx": { + "name": "awards_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "awards_image_id_media_id_fk": { + "name": "awards_image_id_media_id_fk", + "tableFrom": "awards", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "awards_background_image_id_media_id_fk": { + "name": "awards_background_image_id_media_id_fk", + "tableFrom": "awards", + "tableTo": "media", + "columnsFrom": [ + "background_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.awards_rels": { + "name": "awards_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "assignments_id": { + "name": "assignments_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "awards_rels_order_idx": { + "name": "awards_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_rels_parent_idx": { + "name": "awards_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_rels_path_idx": { + "name": "awards_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_rels_assignments_id_idx": { + "name": "awards_rels_assignments_id_idx", + "columns": [ + { + "expression": "assignments_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "awards_rels_parent_fk": { + "name": "awards_rels_parent_fk", + "tableFrom": "awards_rels", + "tableTo": "awards", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "awards_rels_assignments_fk": { + "name": "awards_rels_assignments_fk", + "tableFrom": "awards_rels", + "tableTo": "assignments", + "columnsFrom": [ + "assignments_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.qualifications": { + "name": "qualifications", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "qualifications_name_idx": { + "name": "qualifications_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "qualifications_updated_at_idx": { + "name": "qualifications_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "qualifications_created_at_idx": { + "name": "qualifications_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assignments": { + "name": "assignments", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_assignments_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "callsign": { + "name": "callsign", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "leader_id": { + "name": "leader_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "assignments_leader_idx": { + "name": "assignments_leader_idx", + "columns": [ + { + "expression": "leader_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_updated_at_idx": { + "name": "assignments_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_created_at_idx": { + "name": "assignments_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assignments_leader_id_users_id_fk": { + "name": "assignments_leader_id_users_id_fk", + "tableFrom": "assignments", + "tableTo": "users", + "columnsFrom": [ + "leader_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assignments_rels": { + "name": "assignments_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "assignments_id": { + "name": "assignments_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "assignments_rels_order_idx": { + "name": "assignments_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_rels_parent_idx": { + "name": "assignments_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_rels_path_idx": { + "name": "assignments_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_rels_assignments_id_idx": { + "name": "assignments_rels_assignments_id_idx", + "columns": [ + { + "expression": "assignments_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_rels_users_id_idx": { + "name": "assignments_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assignments_rels_parent_fk": { + "name": "assignments_rels_parent_fk", + "tableFrom": "assignments_rels", + "tableTo": "assignments", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assignments_rels_assignments_fk": { + "name": "assignments_rels_assignments_fk", + "tableFrom": "assignments_rels", + "tableTo": "assignments", + "columnsFrom": [ + "assignments_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assignments_rels_users_fk": { + "name": "assignments_rels_users_fk", + "tableFrom": "assignments_rels", + "tableTo": "users", + "columnsFrom": [ + "users_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assignment_transfers": { + "name": "assignment_transfers", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "requester_id": { + "name": "requester_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "from_assignment_id": { + "name": "from_assignment_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "to_assignment_id": { + "name": "to_assignment_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "enum_assignment_transfers_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "escalation_reason": { + "name": "escalation_reason", + "type": "enum_assignment_transfers_escalation_reason", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "from_leader_decision": { + "name": "from_leader_decision", + "type": "enum_assignment_transfers_from_leader_decision", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "to_leader_decision": { + "name": "to_leader_decision", + "type": "enum_assignment_transfers_to_leader_decision", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "from_decision_by_id": { + "name": "from_decision_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "to_decision_by_id": { + "name": "to_decision_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "from_decided_at": { + "name": "from_decided_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "to_decided_at": { + "name": "to_decided_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "from_leader_snapshot_id": { + "name": "from_leader_snapshot_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "to_leader_snapshot_id": { + "name": "to_leader_snapshot_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "rejection_reason": { + "name": "rejection_reason", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "request_note": { + "name": "request_note", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "appeal_note": { + "name": "appeal_note", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "resolved_by_id": { + "name": "resolved_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resolution_note": { + "name": "resolution_note", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "resolved_at": { + "name": "resolved_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "discord_from_leader_message_id": { + "name": "discord_from_leader_message_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "discord_to_leader_message_id": { + "name": "discord_to_leader_message_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "discord_requester_message_id": { + "name": "discord_requester_message_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "source_notified_to_user_id_id": { + "name": "source_notified_to_user_id_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "destination_notified_to_user_id_id": { + "name": "destination_notified_to_user_id_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "discord_delivered_keys": { + "name": "discord_delivered_keys", + "type": "jsonb", + "primaryKey": false, + "notNull": false, + "default": "'[]'::jsonb" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "assignment_transfers_requester_idx": { + "name": "assignment_transfers_requester_idx", + "columns": [ + { + "expression": "requester_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_from_assignment_idx": { + "name": "assignment_transfers_from_assignment_idx", + "columns": [ + { + "expression": "from_assignment_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_to_assignment_idx": { + "name": "assignment_transfers_to_assignment_idx", + "columns": [ + { + "expression": "to_assignment_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_status_idx": { + "name": "assignment_transfers_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_from_decision_by_idx": { + "name": "assignment_transfers_from_decision_by_idx", + "columns": [ + { + "expression": "from_decision_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_to_decision_by_idx": { + "name": "assignment_transfers_to_decision_by_idx", + "columns": [ + { + "expression": "to_decision_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_from_leader_snapshot_idx": { + "name": "assignment_transfers_from_leader_snapshot_idx", + "columns": [ + { + "expression": "from_leader_snapshot_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_to_leader_snapshot_idx": { + "name": "assignment_transfers_to_leader_snapshot_idx", + "columns": [ + { + "expression": "to_leader_snapshot_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_resolved_by_idx": { + "name": "assignment_transfers_resolved_by_idx", + "columns": [ + { + "expression": "resolved_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_source_notified_to_user_id_idx": { + "name": "assignment_transfers_source_notified_to_user_id_idx", + "columns": [ + { + "expression": "source_notified_to_user_id_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_destination_notified_to_user_id_idx": { + "name": "assignment_transfers_destination_notified_to_user_id_idx", + "columns": [ + { + "expression": "destination_notified_to_user_id_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_updated_at_idx": { + "name": "assignment_transfers_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_created_at_idx": { + "name": "assignment_transfers_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assignment_transfers_requester_id_users_id_fk": { + "name": "assignment_transfers_requester_id_users_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "users", + "columnsFrom": [ + "requester_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_from_assignment_id_assignments_id_fk": { + "name": "assignment_transfers_from_assignment_id_assignments_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "assignments", + "columnsFrom": [ + "from_assignment_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_to_assignment_id_assignments_id_fk": { + "name": "assignment_transfers_to_assignment_id_assignments_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "assignments", + "columnsFrom": [ + "to_assignment_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_from_decision_by_id_users_id_fk": { + "name": "assignment_transfers_from_decision_by_id_users_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "users", + "columnsFrom": [ + "from_decision_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_to_decision_by_id_users_id_fk": { + "name": "assignment_transfers_to_decision_by_id_users_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "users", + "columnsFrom": [ + "to_decision_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_from_leader_snapshot_id_users_id_fk": { + "name": "assignment_transfers_from_leader_snapshot_id_users_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "users", + "columnsFrom": [ + "from_leader_snapshot_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_to_leader_snapshot_id_users_id_fk": { + "name": "assignment_transfers_to_leader_snapshot_id_users_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "users", + "columnsFrom": [ + "to_leader_snapshot_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_resolved_by_id_users_id_fk": { + "name": "assignment_transfers_resolved_by_id_users_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "users", + "columnsFrom": [ + "resolved_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_source_notified_to_user_id_id_users_id_fk": { + "name": "assignment_transfers_source_notified_to_user_id_id_users_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "users", + "columnsFrom": [ + "source_notified_to_user_id_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_destination_notified_to_user_id_id_users_id_fk": { + "name": "assignment_transfers_destination_notified_to_user_id_id_users_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "users", + "columnsFrom": [ + "destination_notified_to_user_id_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.experience": { + "name": "experience", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "required_points": { + "name": "required_points", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "experience_name_idx": { + "name": "experience_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "experience_updated_at_idx": { + "name": "experience_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "experience_created_at_idx": { + "name": "experience_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.user_notifications": { + "name": "user_notifications", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "message": { + "name": "message", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "link": { + "name": "link", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "read": { + "name": "read", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "user_notifications_user_idx": { + "name": "user_notifications_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "user_notifications_read_idx": { + "name": "user_notifications_read_idx", + "columns": [ + { + "expression": "read", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "user_notifications_updated_at_idx": { + "name": "user_notifications_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "user_notifications_created_at_idx": { + "name": "user_notifications_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "user_notifications_user_id_users_id_fk": { + "name": "user_notifications_user_id_users_id_fk", + "tableFrom": "user_notifications", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.evaluations": { + "name": "evaluations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "rater_id": { + "name": "rater_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "ratee_id": { + "name": "ratee_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "mission_id": { + "name": "mission_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "kind": { + "name": "kind", + "type": "enum_evaluations_kind", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "level": { + "name": "level", + "type": "enum_evaluations_level", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "comment": { + "name": "comment", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "evaluations_rater_idx": { + "name": "evaluations_rater_idx", + "columns": [ + { + "expression": "rater_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "evaluations_ratee_idx": { + "name": "evaluations_ratee_idx", + "columns": [ + { + "expression": "ratee_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "evaluations_mission_idx": { + "name": "evaluations_mission_idx", + "columns": [ + { + "expression": "mission_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "evaluations_updated_at_idx": { + "name": "evaluations_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "evaluations_created_at_idx": { + "name": "evaluations_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "evaluations_rater_id_users_id_fk": { + "name": "evaluations_rater_id_users_id_fk", + "tableFrom": "evaluations", + "tableTo": "users", + "columnsFrom": [ + "rater_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "evaluations_ratee_id_users_id_fk": { + "name": "evaluations_ratee_id_users_id_fk", + "tableFrom": "evaluations", + "tableTo": "users", + "columnsFrom": [ + "ratee_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "evaluations_mission_id_missions_id_fk": { + "name": "evaluations_mission_id_missions_id_fk", + "tableFrom": "evaluations", + "tableTo": "missions", + "columnsFrom": [ + "mission_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ribbon_submissions_grantor_types": { + "name": "ribbon_submissions_grantor_types", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_ribbon_submissions_grantor_types", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "ribbon_submissions_grantor_types_order_idx": { + "name": "ribbon_submissions_grantor_types_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ribbon_submissions_grantor_types_parent_idx": { + "name": "ribbon_submissions_grantor_types_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "ribbon_submissions_grantor_types_parent_fk": { + "name": "ribbon_submissions_grantor_types_parent_fk", + "tableFrom": "ribbon_submissions_grantor_types", + "tableTo": "ribbon_submissions", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ribbon_submissions": { + "name": "ribbon_submissions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "design": { + "name": "design", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "enum_ribbon_submissions_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "review_note": { + "name": "review_note", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "reviewed_by_id": { + "name": "reviewed_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "reviewed_at": { + "name": "reviewed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "award_id": { + "name": "award_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "award_xp": { + "name": "award_xp", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "recipient_scope": { + "name": "recipient_scope", + "type": "enum_ribbon_submissions_recipient_scope", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'same_command'" + }, + "max_grants_per_grantor": { + "name": "max_grants_per_grantor", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "ribbon_submissions_user_idx": { + "name": "ribbon_submissions_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ribbon_submissions_reviewed_by_idx": { + "name": "ribbon_submissions_reviewed_by_idx", + "columns": [ + { + "expression": "reviewed_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ribbon_submissions_award_idx": { + "name": "ribbon_submissions_award_idx", + "columns": [ + { + "expression": "award_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ribbon_submissions_updated_at_idx": { + "name": "ribbon_submissions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ribbon_submissions_created_at_idx": { + "name": "ribbon_submissions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "ribbon_submissions_user_id_users_id_fk": { + "name": "ribbon_submissions_user_id_users_id_fk", + "tableFrom": "ribbon_submissions", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "ribbon_submissions_reviewed_by_id_users_id_fk": { + "name": "ribbon_submissions_reviewed_by_id_users_id_fk", + "tableFrom": "ribbon_submissions", + "tableTo": "users", + "columnsFrom": [ + "reviewed_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "ribbon_submissions_award_id_awards_id_fk": { + "name": "ribbon_submissions_award_id_awards_id_fk", + "tableFrom": "ribbon_submissions", + "tableTo": "awards", + "columnsFrom": [ + "award_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_mission_roles_provided_roles": { + "name": "missions_mission_roles_provided_roles", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "role_name": { + "name": "role_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "mission_critical": { + "name": "mission_critical", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "minimum_rank_id": { + "name": "minimum_rank_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "missions_mission_roles_provided_roles_order_idx": { + "name": "missions_mission_roles_provided_roles_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_mission_roles_provided_roles_parent_id_idx": { + "name": "missions_mission_roles_provided_roles_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_mission_roles_provided_roles_minimum_rank_idx": { + "name": "missions_mission_roles_provided_roles_minimum_rank_idx", + "columns": [ + { + "expression": "minimum_rank_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_mission_roles_provided_roles_minimum_rank_id_ranks_id_fk": { + "name": "missions_mission_roles_provided_roles_minimum_rank_id_ranks_id_fk", + "tableFrom": "missions_mission_roles_provided_roles", + "tableTo": "ranks", + "columnsFrom": [ + "minimum_rank_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_mission_roles_provided_roles_parent_id_fk": { + "name": "missions_mission_roles_provided_roles_parent_id_fk", + "tableFrom": "missions_mission_roles_provided_roles", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_briefing": { + "name": "missions_briefing", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "section_name": { + "name": "section_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "details": { + "name": "details", + "type": "jsonb", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "missions_briefing_order_idx": { + "name": "missions_briefing_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_briefing_parent_id_idx": { + "name": "missions_briefing_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_briefing_parent_id_fk": { + "name": "missions_briefing_parent_id_fk", + "tableFrom": "missions_briefing", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_mission_objectives": { + "name": "missions_mission_objectives", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "mission_critical": { + "name": "mission_critical", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "success_or_fail_conditions": { + "name": "success_or_fail_conditions", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "redacted": { + "name": "redacted", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": { + "missions_mission_objectives_order_idx": { + "name": "missions_mission_objectives_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_mission_objectives_parent_id_idx": { + "name": "missions_mission_objectives_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_mission_objectives_parent_id_fk": { + "name": "missions_mission_objectives_parent_id_fk", + "tableFrom": "missions_mission_objectives", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_factions_involved": { + "name": "missions_factions_involved", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "faction_id": { + "name": "faction_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "threat_level": { + "name": "threat_level", + "type": "enum_missions_factions_involved_threat_level", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'hostile'" + } + }, + "indexes": { + "missions_factions_involved_order_idx": { + "name": "missions_factions_involved_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_factions_involved_parent_id_idx": { + "name": "missions_factions_involved_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_factions_involved_faction_idx": { + "name": "missions_factions_involved_faction_idx", + "columns": [ + { + "expression": "faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_factions_involved_faction_id_factions_id_fk": { + "name": "missions_factions_involved_faction_id_factions_id_fk", + "tableFrom": "missions_factions_involved", + "tableTo": "factions", + "columnsFrom": [ + "faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_factions_involved_parent_id_fk": { + "name": "missions_factions_involved_parent_id_fk", + "tableFrom": "missions_factions_involved", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_logistics_and_support_insertion": { + "name": "missions_logistics_and_support_insertion", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_missions_logistics_and_support_insertion", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "missions_logistics_and_support_insertion_order_idx": { + "name": "missions_logistics_and_support_insertion_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_logistics_and_support_insertion_parent_idx": { + "name": "missions_logistics_and_support_insertion_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_logistics_and_support_insertion_parent_fk": { + "name": "missions_logistics_and_support_insertion_parent_fk", + "tableFrom": "missions_logistics_and_support_insertion", + "tableTo": "missions", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_logistics_and_support_extraction": { + "name": "missions_logistics_and_support_extraction", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_missions_logistics_and_support_extraction", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "missions_logistics_and_support_extraction_order_idx": { + "name": "missions_logistics_and_support_extraction_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_logistics_and_support_extraction_parent_idx": { + "name": "missions_logistics_and_support_extraction_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_logistics_and_support_extraction_parent_fk": { + "name": "missions_logistics_and_support_extraction_parent_fk", + "tableFrom": "missions_logistics_and_support_extraction", + "tableTo": "missions", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_logistics_and_support_assets_available": { + "name": "missions_logistics_and_support_assets_available", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "asset_type": { + "name": "asset_type", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "asset_count": { + "name": "asset_count", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "does_respawn": { + "name": "does_respawn", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "asset_callsign": { + "name": "asset_callsign", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "missions_logistics_and_support_assets_available_order_idx": { + "name": "missions_logistics_and_support_assets_available_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_logistics_and_support_assets_available_parent_id_idx": { + "name": "missions_logistics_and_support_assets_available_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_logistics_and_support_assets_available_parent_id_fk": { + "name": "missions_logistics_and_support_assets_available_parent_id_fk", + "tableFrom": "missions_logistics_and_support_assets_available", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_comms_and_docs_frequencies": { + "name": "missions_comms_and_docs_frequencies", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "frequency": { + "name": "frequency", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "channel": { + "name": "channel", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "net_name": { + "name": "net_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "freq_usage": { + "name": "freq_usage", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "missions_comms_and_docs_frequencies_order_idx": { + "name": "missions_comms_and_docs_frequencies_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_comms_and_docs_frequencies_parent_id_idx": { + "name": "missions_comms_and_docs_frequencies_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_comms_and_docs_frequencies_parent_id_fk": { + "name": "missions_comms_and_docs_frequencies_parent_id_fk", + "tableFrom": "missions_comms_and_docs_frequencies", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions": { + "name": "missions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "code_name": { + "name": "code_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "operation_type": { + "name": "operation_type", + "type": "enum_missions_operation_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "discord_message_id": { + "name": "discord_message_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "discord_attendance_hash": { + "name": "discord_attendance_hash", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "discord_attendance_sent_at": { + "name": "discord_attendance_sent_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "discord_modlist_hash": { + "name": "discord_modlist_hash", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "discord_cancelled_at": { + "name": "discord_cancelled_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "evaluation_reminders_sent_at": { + "name": "evaluation_reminders_sent_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "ready_reminder_web_sent_at": { + "name": "ready_reminder_web_sent_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "ready_reminder_dm_sent_at": { + "name": "ready_reminder_dm_sent_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "imminent_reminder_sent_at": { + "name": "imminent_reminder_sent_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "tickets_settled_at": { + "name": "tickets_settled_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_by_id": { + "name": "created_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "cover_image_id": { + "name": "cover_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "classification_map_id": { + "name": "classification_map_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "classification_mission_type": { + "name": "classification_mission_type", + "type": "enum_missions_classification_mission_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'Zeus'" + }, + "classification_campaign_id": { + "name": "classification_campaign_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "classification_custom_scripts": { + "name": "classification_custom_scripts", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "classification_start_date_time": { + "name": "classification_start_date_time", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "classification_estimated_duration": { + "name": "classification_estimated_duration", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 240 + }, + "ownership_and_status_status": { + "name": "ownership_and_status_status", + "type": "enum_missions_ownership_and_status_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'Concept'" + }, + "ownership_and_status_visibility": { + "name": "ownership_and_status_visibility", + "type": "enum_missions_ownership_and_status_visibility", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'leadership'" + }, + "ownership_and_status_completed_at": { + "name": "ownership_and_status_completed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "mission_roles_max_players": { + "name": "mission_roles_max_players", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 32 + }, + "mission_roles_notes": { + "name": "mission_roles_notes", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "civilian_presence": { + "name": "civilian_presence", + "type": "enum_missions_civilian_presence", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'None'" + }, + "game_details_server_details_server_ip": { + "name": "game_details_server_details_server_ip", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'arma.onyxsimple.com'" + }, + "game_details_server_details_server_port": { + "name": "game_details_server_details_server_port", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 2302 + }, + "game_details_server_details_server_password": { + "name": "game_details_server_details_server_password", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'ptf313'" + }, + "game_details_game_setup_mission_file_id": { + "name": "game_details_game_setup_mission_file_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_details_game_setup_required_mods_id": { + "name": "game_details_game_setup_required_mods_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "comms_and_docs_radio_plan": { + "name": "comms_and_docs_radio_plan", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "missions_code_name_idx": { + "name": "missions_code_name_idx", + "columns": [ + { + "expression": "code_name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_created_by_idx": { + "name": "missions_created_by_idx", + "columns": [ + { + "expression": "created_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_cover_image_idx": { + "name": "missions_cover_image_idx", + "columns": [ + { + "expression": "cover_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_classification_classification_map_idx": { + "name": "missions_classification_classification_map_idx", + "columns": [ + { + "expression": "classification_map_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_classification_classification_campaign_idx": { + "name": "missions_classification_classification_campaign_idx", + "columns": [ + { + "expression": "classification_campaign_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_game_details_game_setup_game_details_game_setup_idx": { + "name": "missions_game_details_game_setup_game_details_game_setup_idx", + "columns": [ + { + "expression": "game_details_game_setup_mission_file_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_game_details_game_setup_game_details_game_set_1_idx": { + "name": "missions_game_details_game_setup_game_details_game_set_1_idx", + "columns": [ + { + "expression": "game_details_game_setup_required_mods_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_updated_at_idx": { + "name": "missions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_created_at_idx": { + "name": "missions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_created_by_id_users_id_fk": { + "name": "missions_created_by_id_users_id_fk", + "tableFrom": "missions", + "tableTo": "users", + "columnsFrom": [ + "created_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_cover_image_id_media_id_fk": { + "name": "missions_cover_image_id_media_id_fk", + "tableFrom": "missions", + "tableTo": "media", + "columnsFrom": [ + "cover_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_classification_map_id_maps_id_fk": { + "name": "missions_classification_map_id_maps_id_fk", + "tableFrom": "missions", + "tableTo": "maps", + "columnsFrom": [ + "classification_map_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_classification_campaign_id_campaigns_id_fk": { + "name": "missions_classification_campaign_id_campaigns_id_fk", + "tableFrom": "missions", + "tableTo": "campaigns", + "columnsFrom": [ + "classification_campaign_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_game_details_game_setup_mission_file_id_mission_files_id_fk": { + "name": "missions_game_details_game_setup_mission_file_id_mission_files_id_fk", + "tableFrom": "missions", + "tableTo": "mission_files", + "columnsFrom": [ + "game_details_game_setup_mission_file_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_game_details_game_setup_required_mods_id_mod_lists_id_fk": { + "name": "missions_game_details_game_setup_required_mods_id_mod_lists_id_fk", + "tableFrom": "missions", + "tableTo": "mod_lists", + "columnsFrom": [ + "game_details_game_setup_required_mods_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_rels": { + "name": "missions_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "qualifications_id": { + "name": "qualifications_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "missions_rels_order_idx": { + "name": "missions_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_rels_parent_idx": { + "name": "missions_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_rels_path_idx": { + "name": "missions_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_rels_users_id_idx": { + "name": "missions_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_rels_qualifications_id_idx": { + "name": "missions_rels_qualifications_id_idx", + "columns": [ + { + "expression": "qualifications_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_rels_parent_fk": { + "name": "missions_rels_parent_fk", + "tableFrom": "missions_rels", + "tableTo": "missions", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "missions_rels_users_fk": { + "name": "missions_rels_users_fk", + "tableFrom": "missions_rels", + "tableTo": "users", + "columnsFrom": [ + "users_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "missions_rels_qualifications_fk": { + "name": "missions_rels_qualifications_fk", + "tableFrom": "missions_rels", + "tableTo": "qualifications", + "columnsFrom": [ + "qualifications_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mission_attendances": { + "name": "mission_attendances", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "mission_id": { + "name": "mission_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "response": { + "name": "response", + "type": "enum_mission_attendances_response", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "mission_attendances_mission_idx": { + "name": "mission_attendances_mission_idx", + "columns": [ + { + "expression": "mission_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_attendances_user_idx": { + "name": "mission_attendances_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_attendances_updated_at_idx": { + "name": "mission_attendances_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_attendances_created_at_idx": { + "name": "mission_attendances_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "mission_attendances_mission_id_missions_id_fk": { + "name": "mission_attendances_mission_id_missions_id_fk", + "tableFrom": "mission_attendances", + "tableTo": "missions", + "columnsFrom": [ + "mission_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "mission_attendances_user_id_users_id_fk": { + "name": "mission_attendances_user_id_users_id_fk", + "tableFrom": "mission_attendances", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.campaigns": { + "name": "campaigns", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'An Arma 3 campaign.'" + }, + "status": { + "name": "status", + "type": "enum_campaigns_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'concept'" + }, + "campaign_mode": { + "name": "campaign_mode", + "type": "enum_campaigns_campaign_mode", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'custom'" + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "start_date": { + "name": "start_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "end_date": { + "name": "end_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "cover_image_id": { + "name": "cover_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "owner_id": { + "name": "owner_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "campaigns_name_idx": { + "name": "campaigns_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "campaigns_cover_image_idx": { + "name": "campaigns_cover_image_idx", + "columns": [ + { + "expression": "cover_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "campaigns_owner_idx": { + "name": "campaigns_owner_idx", + "columns": [ + { + "expression": "owner_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "campaigns_updated_at_idx": { + "name": "campaigns_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "campaigns_created_at_idx": { + "name": "campaigns_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "campaigns_cover_image_id_media_id_fk": { + "name": "campaigns_cover_image_id_media_id_fk", + "tableFrom": "campaigns", + "tableTo": "media", + "columnsFrom": [ + "cover_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "campaigns_owner_id_users_id_fk": { + "name": "campaigns_owner_id_users_id_fk", + "tableFrom": "campaigns", + "tableTo": "users", + "columnsFrom": [ + "owner_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.factions_relationships": { + "name": "factions_relationships", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "target_faction_id": { + "name": "target_faction_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "notes": { + "name": "notes", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "factions_relationships_order_idx": { + "name": "factions_relationships_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_relationships_parent_id_idx": { + "name": "factions_relationships_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_relationships_target_faction_idx": { + "name": "factions_relationships_target_faction_idx", + "columns": [ + { + "expression": "target_faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "factions_relationships_target_faction_id_factions_id_fk": { + "name": "factions_relationships_target_faction_id_factions_id_fk", + "tableFrom": "factions_relationships", + "tableTo": "factions", + "columnsFrom": [ + "target_faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "factions_relationships_parent_id_fk": { + "name": "factions_relationships_parent_id_fk", + "tableFrom": "factions_relationships", + "tableTo": "factions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.factions": { + "name": "factions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_factions_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'minorFaction'" + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "reputation": { + "name": "reputation", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "playable_faction": { + "name": "playable_faction", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "starting_faction": { + "name": "starting_faction", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "cover_image_id": { + "name": "cover_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "factions_name_idx": { + "name": "factions_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_cover_image_idx": { + "name": "factions_cover_image_idx", + "columns": [ + { + "expression": "cover_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_updated_at_idx": { + "name": "factions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_created_at_idx": { + "name": "factions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "factions_cover_image_id_media_id_fk": { + "name": "factions_cover_image_id_media_id_fk", + "tableFrom": "factions", + "tableTo": "media", + "columnsFrom": [ + "cover_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.factions_rels": { + "name": "factions_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "campaigns_id": { + "name": "campaigns_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "factions_rels_order_idx": { + "name": "factions_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_rels_parent_idx": { + "name": "factions_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_rels_path_idx": { + "name": "factions_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_rels_campaigns_id_idx": { + "name": "factions_rels_campaigns_id_idx", + "columns": [ + { + "expression": "campaigns_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "factions_rels_parent_fk": { + "name": "factions_rels_parent_fk", + "tableFrom": "factions_rels", + "tableTo": "factions", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "factions_rels_campaigns_fk": { + "name": "factions_rels_campaigns_fk", + "tableFrom": "factions_rels", + "tableTo": "campaigns", + "columnsFrom": [ + "campaigns_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.technologies_requirements_prerequisite_technologies": { + "name": "technologies_requirements_prerequisite_technologies", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "technologies_requirements_prerequisite_technologies_order_idx": { + "name": "technologies_requirements_prerequisite_technologies_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_requirements_prerequisite_technologies_parent_id_idx": { + "name": "technologies_requirements_prerequisite_technologies_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "technologies_requirements_prerequisite_technologies_parent_id_fk": { + "name": "technologies_requirements_prerequisite_technologies_parent_id_fk", + "tableFrom": "technologies_requirements_prerequisite_technologies", + "tableTo": "technologies", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.technologies_research_costs_resources": { + "name": "technologies_research_costs_resources", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + } + }, + "indexes": { + "technologies_research_costs_resources_order_idx": { + "name": "technologies_research_costs_resources_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_research_costs_resources_parent_id_idx": { + "name": "technologies_research_costs_resources_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_research_costs_resources_resource_idx": { + "name": "technologies_research_costs_resources_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "technologies_research_costs_resources_resource_id_resources_id_fk": { + "name": "technologies_research_costs_resources_resource_id_resources_id_fk", + "tableFrom": "technologies_research_costs_resources", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "technologies_research_costs_resources_parent_id_fk": { + "name": "technologies_research_costs_resources_parent_id_fk", + "tableFrom": "technologies_research_costs_resources", + "tableTo": "technologies", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.technologies": { + "name": "technologies", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "approval_status": { + "name": "approval_status", + "type": "enum_technologies_approval_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'in_progress'" + }, + "type": { + "name": "type", + "type": "enum_technologies_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'upgrade'" + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "research_costs_minimum_research_duration": { + "name": "research_costs_minimum_research_duration", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "research_costs_maximum_research_duration": { + "name": "research_costs_maximum_research_duration", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "technologies_updated_at_idx": { + "name": "technologies_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_created_at_idx": { + "name": "technologies_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.technologies_rels": { + "name": "technologies_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "technologies_id": { + "name": "technologies_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "technologies_rels_order_idx": { + "name": "technologies_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_rels_parent_idx": { + "name": "technologies_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_rels_path_idx": { + "name": "technologies_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_rels_technologies_id_idx": { + "name": "technologies_rels_technologies_id_idx", + "columns": [ + { + "expression": "technologies_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "technologies_rels_parent_fk": { + "name": "technologies_rels_parent_fk", + "tableFrom": "technologies_rels", + "tableTo": "technologies", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "technologies_rels_technologies_fk": { + "name": "technologies_rels_technologies_fk", + "tableFrom": "technologies_rels", + "tableTo": "technologies", + "columnsFrom": [ + "technologies_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assets_skin_configuration_applies_to_asset_types": { + "name": "assets_skin_configuration_applies_to_asset_types", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_assets_skin_configuration_applies_to_asset_types", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "assets_skin_configuration_applies_to_asset_types_order_idx": { + "name": "assets_skin_configuration_applies_to_asset_types_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_skin_configuration_applies_to_asset_types_parent_idx": { + "name": "assets_skin_configuration_applies_to_asset_types_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assets_skin_configuration_applies_to_asset_types_parent_fk": { + "name": "assets_skin_configuration_applies_to_asset_types_parent_fk", + "tableFrom": "assets_skin_configuration_applies_to_asset_types", + "tableTo": "assets", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assets_crafting_crafting_data_inputs": { + "name": "assets_crafting_crafting_data_inputs", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "quantity": { + "name": "quantity", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "lended": { + "name": "lended", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "assets_crafting_crafting_data_inputs_order_idx": { + "name": "assets_crafting_crafting_data_inputs_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_crafting_crafting_data_inputs_parent_id_idx": { + "name": "assets_crafting_crafting_data_inputs_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assets_crafting_crafting_data_inputs_parent_id_fk": { + "name": "assets_crafting_crafting_data_inputs_parent_id_fk", + "tableFrom": "assets_crafting_crafting_data_inputs", + "tableTo": "assets", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assets_crafting_crafting_data_byproducts": { + "name": "assets_crafting_crafting_data_byproducts", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "quantity": { + "name": "quantity", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "assets_crafting_crafting_data_byproducts_order_idx": { + "name": "assets_crafting_crafting_data_byproducts_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_crafting_crafting_data_byproducts_parent_id_idx": { + "name": "assets_crafting_crafting_data_byproducts_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assets_crafting_crafting_data_byproducts_parent_id_fk": { + "name": "assets_crafting_crafting_data_byproducts_parent_id_fk", + "tableFrom": "assets_crafting_crafting_data_byproducts", + "tableTo": "assets", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assets": { + "name": "assets", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "approval_status": { + "name": "approval_status", + "type": "enum_assets_approval_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'in_progress'" + }, + "class_name": { + "name": "class_name", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "asset_type": { + "name": "asset_type", + "type": "enum_assets_asset_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'weapon'" + }, + "weapon_configuration_slot_type": { + "name": "weapon_configuration_slot_type", + "type": "enum_assets_weapon_configuration_slot_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "nightvision_configuration_nvg_generation": { + "name": "nightvision_configuration_nvg_generation", + "type": "enum_assets_nightvision_configuration_nvg_generation", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "nightvision_configuration_nvg_has_thermals": { + "name": "nightvision_configuration_nvg_has_thermals", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "container_configuration_capacity_kg": { + "name": "container_configuration_capacity_kg", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "container_configuration_weight_kg": { + "name": "container_configuration_weight_kg", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "magazine_configuration_round_capacity": { + "name": "magazine_configuration_round_capacity", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "magazine_configuration_ammo_type": { + "name": "magazine_configuration_ammo_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "magazine_configuration_greenmag_compatible": { + "name": "magazine_configuration_greenmag_compatible", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "asset_metadata_mod": { + "name": "asset_metadata_mod", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "asset_metadata_thumbnail_id": { + "name": "asset_metadata_thumbnail_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "asset_metadata_game_description": { + "name": "asset_metadata_game_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "tradeable": { + "name": "tradeable", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "market_trading_rarity": { + "name": "market_trading_rarity", + "type": "enum_assets_market_trading_rarity", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "market_trading_perceived_value_base_buy_price": { + "name": "market_trading_perceived_value_base_buy_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "market_trading_perceived_value_base_sell_price": { + "name": "market_trading_perceived_value_base_sell_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "economy_enabled": { + "name": "economy_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "economy_baseline_supply": { + "name": "economy_baseline_supply", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 100 + }, + "economy_baseline_demand": { + "name": "economy_baseline_demand", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 50 + }, + "economy_max_modifier": { + "name": "economy_max_modifier", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "crafting_craftable": { + "name": "crafting_craftable", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "crafting_blueprint_required": { + "name": "crafting_blueprint_required", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "crafting_technology_required_to_use": { + "name": "crafting_technology_required_to_use", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "crafting_crafting_data_crafting_time_per_unit": { + "name": "crafting_crafting_data_crafting_time_per_unit", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "crafting_crafting_data_batch_size": { + "name": "crafting_crafting_data_batch_size", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "storage_dimensions_grid_width": { + "name": "storage_dimensions_grid_width", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "storage_dimensions_grid_height": { + "name": "storage_dimensions_grid_height", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "storage_dimensions_stackable": { + "name": "storage_dimensions_stackable", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "storage_dimensions_max_stack_size": { + "name": "storage_dimensions_max_stack_size", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "storage_dimensions_rotatable": { + "name": "storage_dimensions_rotatable", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "is_live": { + "name": "is_live", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "notes": { + "name": "notes", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "assets_asset_metadata_asset_metadata_thumbnail_idx": { + "name": "assets_asset_metadata_asset_metadata_thumbnail_idx", + "columns": [ + { + "expression": "asset_metadata_thumbnail_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_updated_at_idx": { + "name": "assets_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_created_at_idx": { + "name": "assets_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assets_asset_metadata_thumbnail_id_media_id_fk": { + "name": "assets_asset_metadata_thumbnail_id_media_id_fk", + "tableFrom": "assets", + "tableTo": "media", + "columnsFrom": [ + "asset_metadata_thumbnail_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assets_rels": { + "name": "assets_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "technologies_id": { + "name": "technologies_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "structures_id": { + "name": "structures_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "assets_rels_order_idx": { + "name": "assets_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_parent_idx": { + "name": "assets_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_path_idx": { + "name": "assets_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_assets_id_idx": { + "name": "assets_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_technologies_id_idx": { + "name": "assets_rels_technologies_id_idx", + "columns": [ + { + "expression": "technologies_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_resources_id_idx": { + "name": "assets_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_structures_id_idx": { + "name": "assets_rels_structures_id_idx", + "columns": [ + { + "expression": "structures_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assets_rels_parent_fk": { + "name": "assets_rels_parent_fk", + "tableFrom": "assets_rels", + "tableTo": "assets", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assets_rels_assets_fk": { + "name": "assets_rels_assets_fk", + "tableFrom": "assets_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assets_rels_technologies_fk": { + "name": "assets_rels_technologies_fk", + "tableFrom": "assets_rels", + "tableTo": "technologies", + "columnsFrom": [ + "technologies_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assets_rels_resources_fk": { + "name": "assets_rels_resources_fk", + "tableFrom": "assets_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assets_rels_structures_fk": { + "name": "assets_rels_structures_fk", + "tableFrom": "assets_rels", + "tableTo": "structures", + "columnsFrom": [ + "structures_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.resources": { + "name": "resources", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "code_name": { + "name": "code_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "approval_status": { + "name": "approval_status", + "type": "enum_resources_approval_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'in_progress'" + }, + "type": { + "name": "type", + "type": "enum_resources_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'physical'" + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "icon_id": { + "name": "icon_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "color": { + "name": "color", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "base_value": { + "name": "base_value", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "tradeable": { + "name": "tradeable", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "rarity": { + "name": "rarity", + "type": "enum_resources_rarity", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'common'" + }, + "economy_enabled": { + "name": "economy_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "economy_baseline_supply": { + "name": "economy_baseline_supply", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 100 + }, + "economy_baseline_demand": { + "name": "economy_baseline_demand", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 50 + }, + "economy_max_modifier": { + "name": "economy_max_modifier", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "unit_of_measure": { + "name": "unit_of_measure", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "mass_per_unit": { + "name": "mass_per_unit", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "stack_size": { + "name": "stack_size", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "grid_width": { + "name": "grid_width", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "grid_height": { + "name": "grid_height", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "stackable": { + "name": "stackable", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "max_stack_size": { + "name": "max_stack_size", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "rotatable": { + "name": "rotatable", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "resources_icon_idx": { + "name": "resources_icon_idx", + "columns": [ + { + "expression": "icon_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resources_updated_at_idx": { + "name": "resources_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resources_created_at_idx": { + "name": "resources_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "resources_icon_id_media_id_fk": { + "name": "resources_icon_id_media_id_fk", + "tableFrom": "resources", + "tableTo": "media", + "columnsFrom": [ + "icon_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_category": { + "name": "vehicles_category", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_vehicles_category", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "vehicles_category_order_idx": { + "name": "vehicles_category_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_category_parent_idx": { + "name": "vehicles_category_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_category_parent_fk": { + "name": "vehicles_category_parent_fk", + "tableFrom": "vehicles_category", + "tableTo": "vehicles", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_materials": { + "name": "vehicles_materials", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "vehicles_materials_order_idx": { + "name": "vehicles_materials_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_materials_parent_id_idx": { + "name": "vehicles_materials_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_materials_resource_idx": { + "name": "vehicles_materials_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_materials_resource_id_resources_id_fk": { + "name": "vehicles_materials_resource_id_resources_id_fk", + "tableFrom": "vehicles_materials", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "vehicles_materials_parent_id_fk": { + "name": "vehicles_materials_parent_id_fk", + "tableFrom": "vehicles_materials", + "tableTo": "vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_scrap_returns": { + "name": "vehicles_scrap_returns", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "chance": { + "name": "chance", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 100 + } + }, + "indexes": { + "vehicles_scrap_returns_order_idx": { + "name": "vehicles_scrap_returns_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_scrap_returns_parent_id_idx": { + "name": "vehicles_scrap_returns_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_scrap_returns_resource_idx": { + "name": "vehicles_scrap_returns_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_scrap_returns_resource_id_resources_id_fk": { + "name": "vehicles_scrap_returns_resource_id_resources_id_fk", + "tableFrom": "vehicles_scrap_returns", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "vehicles_scrap_returns_parent_id_fk": { + "name": "vehicles_scrap_returns_parent_id_fk", + "tableFrom": "vehicles_scrap_returns", + "tableTo": "vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_upkeep_costs": { + "name": "vehicles_upkeep_costs", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + } + }, + "indexes": { + "vehicles_upkeep_costs_order_idx": { + "name": "vehicles_upkeep_costs_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_upkeep_costs_parent_id_idx": { + "name": "vehicles_upkeep_costs_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_upkeep_costs_resource_idx": { + "name": "vehicles_upkeep_costs_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_upkeep_costs_resource_id_resources_id_fk": { + "name": "vehicles_upkeep_costs_resource_id_resources_id_fk", + "tableFrom": "vehicles_upkeep_costs", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "vehicles_upkeep_costs_parent_id_fk": { + "name": "vehicles_upkeep_costs_parent_id_fk", + "tableFrom": "vehicles_upkeep_costs", + "tableTo": "vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_allowed_virtual_cargo": { + "name": "vehicles_allowed_virtual_cargo", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + } + }, + "indexes": { + "vehicles_allowed_virtual_cargo_order_idx": { + "name": "vehicles_allowed_virtual_cargo_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_allowed_virtual_cargo_parent_id_idx": { + "name": "vehicles_allowed_virtual_cargo_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_allowed_virtual_cargo_parent_id_fk": { + "name": "vehicles_allowed_virtual_cargo_parent_id_fk", + "tableFrom": "vehicles_allowed_virtual_cargo", + "tableTo": "vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_pylons": { + "name": "vehicles_pylons", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "pylon_name": { + "name": "pylon_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "pylon_type": { + "name": "pylon_type", + "type": "enum_vehicles_pylons_pylon_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'mountedWeapon'" + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "ammo_type_id": { + "name": "ammo_type_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "vehicles_pylons_order_idx": { + "name": "vehicles_pylons_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_pylons_parent_id_idx": { + "name": "vehicles_pylons_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_pylons_ammo_type_idx": { + "name": "vehicles_pylons_ammo_type_idx", + "columns": [ + { + "expression": "ammo_type_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_pylons_ammo_type_id_assets_id_fk": { + "name": "vehicles_pylons_ammo_type_id_assets_id_fk", + "tableFrom": "vehicles_pylons", + "tableTo": "assets", + "columnsFrom": [ + "ammo_type_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "vehicles_pylons_parent_id_fk": { + "name": "vehicles_pylons_parent_id_fk", + "tableFrom": "vehicles_pylons", + "tableTo": "vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles": { + "name": "vehicles", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "classname": { + "name": "classname", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "approval_status": { + "name": "approval_status", + "type": "enum_vehicles_approval_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'in_progress'" + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "fuel_fuel_type_id": { + "name": "fuel_fuel_type_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "fuel_fuel_capacity": { + "name": "fuel_fuel_capacity", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "fuel_fuel_consumption_rate": { + "name": "fuel_fuel_consumption_rate", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "construction_time": { + "name": "construction_time", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "transport_mode": { + "name": "transport_mode", + "type": "enum_vehicles_transport_mode", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'ground'" + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_mass": { + "name": "max_mass", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "ace_cargo_slots": { + "name": "ace_cargo_slots", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_health": { + "name": "max_health", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "armor_rating": { + "name": "armor_rating", + "type": "enum_vehicles_armor_rating", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "max_speed_on_road": { + "name": "max_speed_on_road", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_speed_off_road": { + "name": "max_speed_off_road", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_airspeed": { + "name": "max_airspeed", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_knots": { + "name": "max_knots", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "vehicles_image_idx": { + "name": "vehicles_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_fuel_fuel_fuel_type_idx": { + "name": "vehicles_fuel_fuel_fuel_type_idx", + "columns": [ + { + "expression": "fuel_fuel_type_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_updated_at_idx": { + "name": "vehicles_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_created_at_idx": { + "name": "vehicles_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_image_id_media_id_fk": { + "name": "vehicles_image_id_media_id_fk", + "tableFrom": "vehicles", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "vehicles_fuel_fuel_type_id_resources_id_fk": { + "name": "vehicles_fuel_fuel_type_id_resources_id_fk", + "tableFrom": "vehicles", + "tableTo": "resources", + "columnsFrom": [ + "fuel_fuel_type_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_rels": { + "name": "vehicles_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "technologies_id": { + "name": "technologies_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "vehicles_id": { + "name": "vehicles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "vehicles_rels_order_idx": { + "name": "vehicles_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_parent_idx": { + "name": "vehicles_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_path_idx": { + "name": "vehicles_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_technologies_id_idx": { + "name": "vehicles_rels_technologies_id_idx", + "columns": [ + { + "expression": "technologies_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_assets_id_idx": { + "name": "vehicles_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_vehicles_id_idx": { + "name": "vehicles_rels_vehicles_id_idx", + "columns": [ + { + "expression": "vehicles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_resources_id_idx": { + "name": "vehicles_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_rels_parent_fk": { + "name": "vehicles_rels_parent_fk", + "tableFrom": "vehicles_rels", + "tableTo": "vehicles", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "vehicles_rels_technologies_fk": { + "name": "vehicles_rels_technologies_fk", + "tableFrom": "vehicles_rels", + "tableTo": "technologies", + "columnsFrom": [ + "technologies_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "vehicles_rels_assets_fk": { + "name": "vehicles_rels_assets_fk", + "tableFrom": "vehicles_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "vehicles_rels_vehicles_fk": { + "name": "vehicles_rels_vehicles_fk", + "tableFrom": "vehicles_rels", + "tableTo": "vehicles", + "columnsFrom": [ + "vehicles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "vehicles_rels_resources_fk": { + "name": "vehicles_rels_resources_fk", + "tableFrom": "vehicles_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_materials": { + "name": "structures_materials", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_materials_order_idx": { + "name": "structures_materials_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_materials_parent_id_idx": { + "name": "structures_materials_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_materials_resource_idx": { + "name": "structures_materials_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_materials_resource_id_resources_id_fk": { + "name": "structures_materials_resource_id_resources_id_fk", + "tableFrom": "structures_materials", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_materials_parent_id_fk": { + "name": "structures_materials_parent_id_fk", + "tableFrom": "structures_materials", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_resources_in_range": { + "name": "structures_resources_in_range", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "range": { + "name": "range", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_resources_in_range_order_idx": { + "name": "structures_resources_in_range_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_resources_in_range_parent_id_idx": { + "name": "structures_resources_in_range_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_resources_in_range_resource_idx": { + "name": "structures_resources_in_range_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_resources_in_range_resource_id_resources_id_fk": { + "name": "structures_resources_in_range_resource_id_resources_id_fk", + "tableFrom": "structures_resources_in_range", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_resources_in_range_parent_id_fk": { + "name": "structures_resources_in_range_parent_id_fk", + "tableFrom": "structures_resources_in_range", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_structures_in_range": { + "name": "structures_structures_in_range", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "structure_id": { + "name": "structure_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "range": { + "name": "range", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_structures_in_range_order_idx": { + "name": "structures_structures_in_range_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_structures_in_range_parent_id_idx": { + "name": "structures_structures_in_range_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_structures_in_range_structure_idx": { + "name": "structures_structures_in_range_structure_idx", + "columns": [ + { + "expression": "structure_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_structures_in_range_structure_id_structures_id_fk": { + "name": "structures_structures_in_range_structure_id_structures_id_fk", + "tableFrom": "structures_structures_in_range", + "tableTo": "structures", + "columnsFrom": [ + "structure_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_structures_in_range_parent_id_fk": { + "name": "structures_structures_in_range_parent_id_fk", + "tableFrom": "structures_structures_in_range", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_upkeep": { + "name": "structures_upkeep", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_upkeep_order_idx": { + "name": "structures_upkeep_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_upkeep_parent_id_idx": { + "name": "structures_upkeep_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_upkeep_resource_idx": { + "name": "structures_upkeep_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_upkeep_resource_id_resources_id_fk": { + "name": "structures_upkeep_resource_id_resources_id_fk", + "tableFrom": "structures_upkeep", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_upkeep_parent_id_fk": { + "name": "structures_upkeep_parent_id_fk", + "tableFrom": "structures_upkeep", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_labor_requirements": { + "name": "structures_labor_requirements", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "classification_id": { + "name": "classification_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "required_headcount": { + "name": "required_headcount", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "max_headcount": { + "name": "max_headcount", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "enforced_salary": { + "name": "enforced_salary", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_labor_requirements_order_idx": { + "name": "structures_labor_requirements_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_labor_requirements_parent_id_idx": { + "name": "structures_labor_requirements_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_labor_requirements_classification_idx": { + "name": "structures_labor_requirements_classification_idx", + "columns": [ + { + "expression": "classification_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_labor_requirements_classification_id_labor_classifications_id_fk": { + "name": "structures_labor_requirements_classification_id_labor_classifications_id_fk", + "tableFrom": "structures_labor_requirements", + "tableTo": "labor_classifications", + "columnsFrom": [ + "classification_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_labor_requirements_parent_id_fk": { + "name": "structures_labor_requirements_parent_id_fk", + "tableFrom": "structures_labor_requirements", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_staff_positions": { + "name": "structures_staff_positions", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "position_type": { + "name": "position_type", + "type": "enum_structures_staff_positions_position_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "max": { + "name": "max", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "enforced_salary": { + "name": "enforced_salary", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_staff_positions_order_idx": { + "name": "structures_staff_positions_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_staff_positions_parent_id_idx": { + "name": "structures_staff_positions_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_staff_positions_parent_id_fk": { + "name": "structures_staff_positions_parent_id_fk", + "tableFrom": "structures_staff_positions", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_production_inputs": { + "name": "structures_production_inputs", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount_per_hour": { + "name": "amount_per_hour", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + } + }, + "indexes": { + "structures_production_inputs_order_idx": { + "name": "structures_production_inputs_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_production_inputs_parent_id_idx": { + "name": "structures_production_inputs_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_production_inputs_resource_idx": { + "name": "structures_production_inputs_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_production_inputs_resource_id_resources_id_fk": { + "name": "structures_production_inputs_resource_id_resources_id_fk", + "tableFrom": "structures_production_inputs", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_production_inputs_parent_id_fk": { + "name": "structures_production_inputs_parent_id_fk", + "tableFrom": "structures_production_inputs", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_production_outputs": { + "name": "structures_production_outputs", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount_per_hour": { + "name": "amount_per_hour", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + } + }, + "indexes": { + "structures_production_outputs_order_idx": { + "name": "structures_production_outputs_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_production_outputs_parent_id_idx": { + "name": "structures_production_outputs_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_production_outputs_resource_idx": { + "name": "structures_production_outputs_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_production_outputs_resource_id_resources_id_fk": { + "name": "structures_production_outputs_resource_id_resources_id_fk", + "tableFrom": "structures_production_outputs", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_production_outputs_parent_id_fk": { + "name": "structures_production_outputs_parent_id_fk", + "tableFrom": "structures_production_outputs", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_module_options_effects": { + "name": "structures_module_options_effects", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_structures_module_options_effects_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "numeric", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "structures_module_options_effects_order_idx": { + "name": "structures_module_options_effects_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_module_options_effects_parent_id_idx": { + "name": "structures_module_options_effects_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_module_options_effects_parent_id_fk": { + "name": "structures_module_options_effects_parent_id_fk", + "tableFrom": "structures_module_options_effects", + "tableTo": "structures_module_options", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_module_options_materials": { + "name": "structures_module_options_materials", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "structures_module_options_materials_order_idx": { + "name": "structures_module_options_materials_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_module_options_materials_parent_id_idx": { + "name": "structures_module_options_materials_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_module_options_materials_resource_idx": { + "name": "structures_module_options_materials_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_module_options_materials_resource_id_resources_id_fk": { + "name": "structures_module_options_materials_resource_id_resources_id_fk", + "tableFrom": "structures_module_options_materials", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_module_options_materials_parent_id_fk": { + "name": "structures_module_options_materials_parent_id_fk", + "tableFrom": "structures_module_options_materials", + "tableTo": "structures_module_options", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_module_options": { + "name": "structures_module_options", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "category": { + "name": "category", + "type": "enum_structures_module_options_category", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'utility'" + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_module_options_order_idx": { + "name": "structures_module_options_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_module_options_parent_id_idx": { + "name": "structures_module_options_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_module_options_parent_id_fk": { + "name": "structures_module_options_parent_id_fk", + "tableFrom": "structures_module_options", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_auto_generated_resources": { + "name": "structures_auto_generated_resources", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "min_amount": { + "name": "min_amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "max_amount": { + "name": "max_amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "min_frequency": { + "name": "min_frequency", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'1'" + }, + "max_frequency": { + "name": "max_frequency", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "produce_chance": { + "name": "produce_chance", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 100 + } + }, + "indexes": { + "structures_auto_generated_resources_order_idx": { + "name": "structures_auto_generated_resources_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_auto_generated_resources_parent_id_idx": { + "name": "structures_auto_generated_resources_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_auto_generated_resources_resource_idx": { + "name": "structures_auto_generated_resources_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_auto_generated_resources_resource_id_resources_id_fk": { + "name": "structures_auto_generated_resources_resource_id_resources_id_fk", + "tableFrom": "structures_auto_generated_resources", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_auto_generated_resources_parent_id_fk": { + "name": "structures_auto_generated_resources_parent_id_fk", + "tableFrom": "structures_auto_generated_resources", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_allowed_storage": { + "name": "structures_allowed_storage", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_allowed_storage_order_idx": { + "name": "structures_allowed_storage_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_allowed_storage_parent_id_idx": { + "name": "structures_allowed_storage_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_allowed_storage_parent_id_fk": { + "name": "structures_allowed_storage_parent_id_fk", + "tableFrom": "structures_allowed_storage", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_prohibited_storage": { + "name": "structures_prohibited_storage", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "structures_prohibited_storage_order_idx": { + "name": "structures_prohibited_storage_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_prohibited_storage_parent_id_idx": { + "name": "structures_prohibited_storage_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_prohibited_storage_parent_id_fk": { + "name": "structures_prohibited_storage_parent_id_fk", + "tableFrom": "structures_prohibited_storage", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures": { + "name": "structures", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "code_name": { + "name": "code_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "approval_status": { + "name": "approval_status", + "type": "enum_structures_approval_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'in_progress'" + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "category": { + "name": "category", + "type": "enum_structures_category", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "construction_duration_minutes": { + "name": "construction_duration_minutes", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "construction_crew_required": { + "name": "construction_crew_required", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "requires_upgrade": { + "name": "requires_upgrade", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "upgrades_into_id": { + "name": "upgrades_into_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "upgrade_cost_multiplier": { + "name": "upgrade_cost_multiplier", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "terrain_type": { + "name": "terrain_type", + "type": "enum_structures_terrain_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "sell_price": { + "name": "sell_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "maintenance_cost": { + "name": "maintenance_cost", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "module_slots": { + "name": "module_slots", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "aura_effect_type": { + "name": "aura_effect_type", + "type": "enum_structures_aura_effect_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "aura_value": { + "name": "aura_value", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "aura_range_meters": { + "name": "aura_range_meters", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "function_type": { + "name": "function_type", + "type": "enum_structures_function_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "max_capacity_mass": { + "name": "max_capacity_mass", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "restrict_to_allowed": { + "name": "restrict_to_allowed", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "x_size": { + "name": "x_size", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "y_size": { + "name": "y_size", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_health": { + "name": "max_health", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "repair_speed": { + "name": "repair_speed", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "structures_image_idx": { + "name": "structures_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_upgrades_into_idx": { + "name": "structures_upgrades_into_idx", + "columns": [ + { + "expression": "upgrades_into_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_updated_at_idx": { + "name": "structures_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_created_at_idx": { + "name": "structures_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_image_id_media_id_fk": { + "name": "structures_image_id_media_id_fk", + "tableFrom": "structures", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_upgrades_into_id_structures_id_fk": { + "name": "structures_upgrades_into_id_structures_id_fk", + "tableFrom": "structures", + "tableTo": "structures", + "columnsFrom": [ + "upgrades_into_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_rels": { + "name": "structures_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "technologies_id": { + "name": "technologies_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "vehicles_id": { + "name": "vehicles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_rels_order_idx": { + "name": "structures_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_parent_idx": { + "name": "structures_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_path_idx": { + "name": "structures_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_technologies_id_idx": { + "name": "structures_rels_technologies_id_idx", + "columns": [ + { + "expression": "technologies_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_assets_id_idx": { + "name": "structures_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_vehicles_id_idx": { + "name": "structures_rels_vehicles_id_idx", + "columns": [ + { + "expression": "vehicles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_resources_id_idx": { + "name": "structures_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_rels_parent_fk": { + "name": "structures_rels_parent_fk", + "tableFrom": "structures_rels", + "tableTo": "structures", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "structures_rels_technologies_fk": { + "name": "structures_rels_technologies_fk", + "tableFrom": "structures_rels", + "tableTo": "technologies", + "columnsFrom": [ + "technologies_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "structures_rels_assets_fk": { + "name": "structures_rels_assets_fk", + "tableFrom": "structures_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "structures_rels_vehicles_fk": { + "name": "structures_rels_vehicles_fk", + "tableFrom": "structures_rels", + "tableTo": "vehicles", + "columnsFrom": [ + "vehicles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "structures_rels_resources_fk": { + "name": "structures_rels_resources_fk", + "tableFrom": "structures_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shipments_cargo": { + "name": "shipments_cargo", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "shipments_cargo_order_idx": { + "name": "shipments_cargo_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_cargo_parent_id_idx": { + "name": "shipments_cargo_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shipments_cargo_parent_id_fk": { + "name": "shipments_cargo_parent_id_fk", + "tableFrom": "shipments_cargo", + "tableTo": "shipments", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shipments": { + "name": "shipments", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "origin_id": { + "name": "origin_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "destination_id": { + "name": "destination_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "map_id": { + "name": "map_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "route_path": { + "name": "route_path", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "transport_vehicle_id": { + "name": "transport_vehicle_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "distance": { + "name": "distance", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "fuel_cost": { + "name": "fuel_cost", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "fuel_consumed": { + "name": "fuel_consumed", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "status": { + "name": "status", + "type": "enum_shipments_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "dispatched_at": { + "name": "dispatched_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "estimated_arrival": { + "name": "estimated_arrival", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "completed_at": { + "name": "completed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "auto_return": { + "name": "auto_return", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "created_by_id": { + "name": "created_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "failure_reason": { + "name": "failure_reason", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "shipments_origin_idx": { + "name": "shipments_origin_idx", + "columns": [ + { + "expression": "origin_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_destination_idx": { + "name": "shipments_destination_idx", + "columns": [ + { + "expression": "destination_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_map_idx": { + "name": "shipments_map_idx", + "columns": [ + { + "expression": "map_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_transport_vehicle_idx": { + "name": "shipments_transport_vehicle_idx", + "columns": [ + { + "expression": "transport_vehicle_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_created_by_idx": { + "name": "shipments_created_by_idx", + "columns": [ + { + "expression": "created_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_updated_at_idx": { + "name": "shipments_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_created_at_idx": { + "name": "shipments_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shipments_origin_id_game_structures_id_fk": { + "name": "shipments_origin_id_game_structures_id_fk", + "tableFrom": "shipments", + "tableTo": "game_structures", + "columnsFrom": [ + "origin_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "shipments_destination_id_game_structures_id_fk": { + "name": "shipments_destination_id_game_structures_id_fk", + "tableFrom": "shipments", + "tableTo": "game_structures", + "columnsFrom": [ + "destination_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "shipments_map_id_maps_id_fk": { + "name": "shipments_map_id_maps_id_fk", + "tableFrom": "shipments", + "tableTo": "maps", + "columnsFrom": [ + "map_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "shipments_transport_vehicle_id_game_vehicles_id_fk": { + "name": "shipments_transport_vehicle_id_game_vehicles_id_fk", + "tableFrom": "shipments", + "tableTo": "game_vehicles", + "columnsFrom": [ + "transport_vehicle_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "shipments_created_by_id_users_id_fk": { + "name": "shipments_created_by_id_users_id_fk", + "tableFrom": "shipments", + "tableTo": "users", + "columnsFrom": [ + "created_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shipments_rels": { + "name": "shipments_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "vehicles_id": { + "name": "vehicles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "shipments_rels_order_idx": { + "name": "shipments_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_rels_parent_idx": { + "name": "shipments_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_rels_path_idx": { + "name": "shipments_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_rels_resources_id_idx": { + "name": "shipments_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_rels_assets_id_idx": { + "name": "shipments_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_rels_vehicles_id_idx": { + "name": "shipments_rels_vehicles_id_idx", + "columns": [ + { + "expression": "vehicles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shipments_rels_parent_fk": { + "name": "shipments_rels_parent_fk", + "tableFrom": "shipments_rels", + "tableTo": "shipments", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "shipments_rels_resources_fk": { + "name": "shipments_rels_resources_fk", + "tableFrom": "shipments_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "shipments_rels_assets_fk": { + "name": "shipments_rels_assets_fk", + "tableFrom": "shipments_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "shipments_rels_vehicles_fk": { + "name": "shipments_rels_vehicles_fk", + "tableFrom": "shipments_rels", + "tableTo": "vehicles", + "columnsFrom": [ + "vehicles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.bank_accounts": { + "name": "bank_accounts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "account_type": { + "name": "account_type", + "type": "enum_bank_accounts_account_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'personal'" + }, + "owner_faction_id": { + "name": "owner_faction_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "owner_user_id": { + "name": "owner_user_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "currency_id": { + "name": "currency_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "balance": { + "name": "balance", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "status": { + "name": "status", + "type": "enum_bank_accounts_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'open'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "bank_accounts_owner_faction_idx": { + "name": "bank_accounts_owner_faction_idx", + "columns": [ + { + "expression": "owner_faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_accounts_owner_user_idx": { + "name": "bank_accounts_owner_user_idx", + "columns": [ + { + "expression": "owner_user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_accounts_currency_idx": { + "name": "bank_accounts_currency_idx", + "columns": [ + { + "expression": "currency_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_accounts_updated_at_idx": { + "name": "bank_accounts_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "bank_accounts_owner_faction_id_factions_id_fk": { + "name": "bank_accounts_owner_faction_id_factions_id_fk", + "tableFrom": "bank_accounts", + "tableTo": "factions", + "columnsFrom": [ + "owner_faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "bank_accounts_owner_user_id_users_id_fk": { + "name": "bank_accounts_owner_user_id_users_id_fk", + "tableFrom": "bank_accounts", + "tableTo": "users", + "columnsFrom": [ + "owner_user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "bank_accounts_currency_id_resources_id_fk": { + "name": "bank_accounts_currency_id_resources_id_fk", + "tableFrom": "bank_accounts", + "tableTo": "resources", + "columnsFrom": [ + "currency_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.bank_transactions": { + "name": "bank_transactions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "transaction_number": { + "name": "transaction_number", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_bank_transactions_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "from_account_id": { + "name": "from_account_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "to_account_id": { + "name": "to_account_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "fee": { + "name": "fee", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "memo": { + "name": "memo", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "actor_id": { + "name": "actor_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_bank_transactions_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'completed'" + }, + "reference_id": { + "name": "reference_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "timestamp": { + "name": "timestamp", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "bank_transactions_transaction_number_idx": { + "name": "bank_transactions_transaction_number_idx", + "columns": [ + { + "expression": "transaction_number", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_from_account_idx": { + "name": "bank_transactions_from_account_idx", + "columns": [ + { + "expression": "from_account_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_to_account_idx": { + "name": "bank_transactions_to_account_idx", + "columns": [ + { + "expression": "to_account_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_actor_idx": { + "name": "bank_transactions_actor_idx", + "columns": [ + { + "expression": "actor_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_reference_idx": { + "name": "bank_transactions_reference_idx", + "columns": [ + { + "expression": "reference_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_updated_at_idx": { + "name": "bank_transactions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_created_at_idx": { + "name": "bank_transactions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "bank_transactions_from_account_id_bank_accounts_id_fk": { + "name": "bank_transactions_from_account_id_bank_accounts_id_fk", + "tableFrom": "bank_transactions", + "tableTo": "bank_accounts", + "columnsFrom": [ + "from_account_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "bank_transactions_to_account_id_bank_accounts_id_fk": { + "name": "bank_transactions_to_account_id_bank_accounts_id_fk", + "tableFrom": "bank_transactions", + "tableTo": "bank_accounts", + "columnsFrom": [ + "to_account_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "bank_transactions_actor_id_users_id_fk": { + "name": "bank_transactions_actor_id_users_id_fk", + "tableFrom": "bank_transactions", + "tableTo": "users", + "columnsFrom": [ + "actor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "bank_transactions_reference_id_bank_transactions_id_fk": { + "name": "bank_transactions_reference_id_bank_transactions_id_fk", + "tableFrom": "bank_transactions", + "tableTo": "bank_transactions", + "columnsFrom": [ + "reference_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ledger_entries": { + "name": "ledger_entries", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "account_id": { + "name": "account_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "transaction_id": { + "name": "transaction_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_ledger_entries_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "balance_after": { + "name": "balance_after", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "memo": { + "name": "memo", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "timestamp": { + "name": "timestamp", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "ledger_entries_account_idx": { + "name": "ledger_entries_account_idx", + "columns": [ + { + "expression": "account_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ledger_entries_transaction_idx": { + "name": "ledger_entries_transaction_idx", + "columns": [ + { + "expression": "transaction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ledger_entries_updated_at_idx": { + "name": "ledger_entries_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ledger_entries_created_at_idx": { + "name": "ledger_entries_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "ledger_entries_account_id_bank_accounts_id_fk": { + "name": "ledger_entries_account_id_bank_accounts_id_fk", + "tableFrom": "ledger_entries", + "tableTo": "bank_accounts", + "columnsFrom": [ + "account_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "ledger_entries_transaction_id_bank_transactions_id_fk": { + "name": "ledger_entries_transaction_id_bank_transactions_id_fk", + "tableFrom": "ledger_entries", + "tableTo": "bank_transactions", + "columnsFrom": [ + "transaction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.locker_storages_items_equipment_attachments": { + "name": "locker_storages_items_equipment_attachments", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "asset_id": { + "name": "asset_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "locker_storages_items_equipment_attachments_order_idx": { + "name": "locker_storages_items_equipment_attachments_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_items_equipment_attachments_parent_id_idx": { + "name": "locker_storages_items_equipment_attachments_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_items_equipment_attachments_asset_idx": { + "name": "locker_storages_items_equipment_attachments_asset_idx", + "columns": [ + { + "expression": "asset_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "locker_storages_items_equipment_attachments_asset_id_assets_id_fk": { + "name": "locker_storages_items_equipment_attachments_asset_id_assets_id_fk", + "tableFrom": "locker_storages_items_equipment_attachments", + "tableTo": "assets", + "columnsFrom": [ + "asset_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "locker_storages_items_equipment_attachments_parent_id_fk": { + "name": "locker_storages_items_equipment_attachments_parent_id_fk", + "tableFrom": "locker_storages_items_equipment_attachments", + "tableTo": "locker_storages_items", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.locker_storages_items": { + "name": "locker_storages_items", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "asset_id": { + "name": "asset_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "quantity": { + "name": "quantity", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "grid_x": { + "name": "grid_x", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "grid_y": { + "name": "grid_y", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "rotated": { + "name": "rotated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "equipment_skin_id": { + "name": "equipment_skin_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "equipment_custom_name": { + "name": "equipment_custom_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "locker_storages_items_order_idx": { + "name": "locker_storages_items_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_items_parent_id_idx": { + "name": "locker_storages_items_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_items_asset_idx": { + "name": "locker_storages_items_asset_idx", + "columns": [ + { + "expression": "asset_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_items_equipment_equipment_skin_idx": { + "name": "locker_storages_items_equipment_equipment_skin_idx", + "columns": [ + { + "expression": "equipment_skin_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "locker_storages_items_asset_id_assets_id_fk": { + "name": "locker_storages_items_asset_id_assets_id_fk", + "tableFrom": "locker_storages_items", + "tableTo": "assets", + "columnsFrom": [ + "asset_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "locker_storages_items_equipment_skin_id_assets_id_fk": { + "name": "locker_storages_items_equipment_skin_id_assets_id_fk", + "tableFrom": "locker_storages_items", + "tableTo": "assets", + "columnsFrom": [ + "equipment_skin_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "locker_storages_items_parent_id_fk": { + "name": "locker_storages_items_parent_id_fk", + "tableFrom": "locker_storages_items", + "tableTo": "locker_storages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.locker_storages": { + "name": "locker_storages", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'Personal Locker'" + }, + "owner_user_id": { + "name": "owner_user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "item_count": { + "name": "item_count", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "locker_storages_owner_user_idx": { + "name": "locker_storages_owner_user_idx", + "columns": [ + { + "expression": "owner_user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_updated_at_idx": { + "name": "locker_storages_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_created_at_idx": { + "name": "locker_storages_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "locker_storages_owner_user_id_users_id_fk": { + "name": "locker_storages_owner_user_id_users_id_fk", + "tableFrom": "locker_storages", + "tableTo": "users", + "columnsFrom": [ + "owner_user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.loadouts": { + "name": "loadouts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "owner_user_id": { + "name": "owner_user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "equipped": { + "name": "equipped", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "slots_primary_id": { + "name": "slots_primary_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_secondary_id": { + "name": "slots_secondary_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_launcher_id": { + "name": "slots_launcher_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_uniform_id": { + "name": "slots_uniform_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_vest_id": { + "name": "slots_vest_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_backpack_id": { + "name": "slots_backpack_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_helmet_id": { + "name": "slots_helmet_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_facewear_id": { + "name": "slots_facewear_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_nvg_id": { + "name": "slots_nvg_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_radio_id": { + "name": "slots_radio_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_optic_id": { + "name": "slots_optic_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_muzzle_id": { + "name": "slots_muzzle_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_bipod_id": { + "name": "slots_bipod_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "loadouts_owner_user_idx": { + "name": "loadouts_owner_user_idx", + "columns": [ + { + "expression": "owner_user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_primary_idx": { + "name": "loadouts_slots_slots_primary_idx", + "columns": [ + { + "expression": "slots_primary_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_secondary_idx": { + "name": "loadouts_slots_slots_secondary_idx", + "columns": [ + { + "expression": "slots_secondary_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_launcher_idx": { + "name": "loadouts_slots_slots_launcher_idx", + "columns": [ + { + "expression": "slots_launcher_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_uniform_idx": { + "name": "loadouts_slots_slots_uniform_idx", + "columns": [ + { + "expression": "slots_uniform_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_vest_idx": { + "name": "loadouts_slots_slots_vest_idx", + "columns": [ + { + "expression": "slots_vest_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_backpack_idx": { + "name": "loadouts_slots_slots_backpack_idx", + "columns": [ + { + "expression": "slots_backpack_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_helmet_idx": { + "name": "loadouts_slots_slots_helmet_idx", + "columns": [ + { + "expression": "slots_helmet_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_facewear_idx": { + "name": "loadouts_slots_slots_facewear_idx", + "columns": [ + { + "expression": "slots_facewear_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_nvg_idx": { + "name": "loadouts_slots_slots_nvg_idx", + "columns": [ + { + "expression": "slots_nvg_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_radio_idx": { + "name": "loadouts_slots_slots_radio_idx", + "columns": [ + { + "expression": "slots_radio_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_optic_idx": { + "name": "loadouts_slots_slots_optic_idx", + "columns": [ + { + "expression": "slots_optic_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_muzzle_idx": { + "name": "loadouts_slots_slots_muzzle_idx", + "columns": [ + { + "expression": "slots_muzzle_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_bipod_idx": { + "name": "loadouts_slots_slots_bipod_idx", + "columns": [ + { + "expression": "slots_bipod_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_updated_at_idx": { + "name": "loadouts_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_created_at_idx": { + "name": "loadouts_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "loadouts_owner_user_id_users_id_fk": { + "name": "loadouts_owner_user_id_users_id_fk", + "tableFrom": "loadouts", + "tableTo": "users", + "columnsFrom": [ + "owner_user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_primary_id_assets_id_fk": { + "name": "loadouts_slots_primary_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_primary_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_secondary_id_assets_id_fk": { + "name": "loadouts_slots_secondary_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_secondary_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_launcher_id_assets_id_fk": { + "name": "loadouts_slots_launcher_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_launcher_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_uniform_id_assets_id_fk": { + "name": "loadouts_slots_uniform_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_uniform_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_vest_id_assets_id_fk": { + "name": "loadouts_slots_vest_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_vest_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_backpack_id_assets_id_fk": { + "name": "loadouts_slots_backpack_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_backpack_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_helmet_id_assets_id_fk": { + "name": "loadouts_slots_helmet_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_helmet_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_facewear_id_assets_id_fk": { + "name": "loadouts_slots_facewear_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_facewear_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_nvg_id_assets_id_fk": { + "name": "loadouts_slots_nvg_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_nvg_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_radio_id_assets_id_fk": { + "name": "loadouts_slots_radio_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_radio_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_optic_id_assets_id_fk": { + "name": "loadouts_slots_optic_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_optic_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_muzzle_id_assets_id_fk": { + "name": "loadouts_slots_muzzle_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_muzzle_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_bipod_id_assets_id_fk": { + "name": "loadouts_slots_bipod_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_bipod_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.market_listings": { + "name": "market_listings", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "asset_id": { + "name": "asset_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "seller_id": { + "name": "seller_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "npc_id": { + "name": "npc_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "quantity": { + "name": "quantity", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "price": { + "name": "price", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "desired_price": { + "name": "desired_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "min_price": { + "name": "min_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "currency_id": { + "name": "currency_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_market_listings_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'active'" + }, + "is_auto_generated": { + "name": "is_auto_generated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "listed_at": { + "name": "listed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "sold_at": { + "name": "sold_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "buyer_id": { + "name": "buyer_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "market_listings_asset_idx": { + "name": "market_listings_asset_idx", + "columns": [ + { + "expression": "asset_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_seller_idx": { + "name": "market_listings_seller_idx", + "columns": [ + { + "expression": "seller_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_npc_idx": { + "name": "market_listings_npc_idx", + "columns": [ + { + "expression": "npc_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_currency_idx": { + "name": "market_listings_currency_idx", + "columns": [ + { + "expression": "currency_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_status_idx": { + "name": "market_listings_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_buyer_idx": { + "name": "market_listings_buyer_idx", + "columns": [ + { + "expression": "buyer_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_updated_at_idx": { + "name": "market_listings_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_created_at_idx": { + "name": "market_listings_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "market_listings_asset_id_assets_id_fk": { + "name": "market_listings_asset_id_assets_id_fk", + "tableFrom": "market_listings", + "tableTo": "assets", + "columnsFrom": [ + "asset_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "market_listings_seller_id_users_id_fk": { + "name": "market_listings_seller_id_users_id_fk", + "tableFrom": "market_listings", + "tableTo": "users", + "columnsFrom": [ + "seller_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "market_listings_npc_id_game_npcs_id_fk": { + "name": "market_listings_npc_id_game_npcs_id_fk", + "tableFrom": "market_listings", + "tableTo": "game_npcs", + "columnsFrom": [ + "npc_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "market_listings_currency_id_resources_id_fk": { + "name": "market_listings_currency_id_resources_id_fk", + "tableFrom": "market_listings", + "tableTo": "resources", + "columnsFrom": [ + "currency_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "market_listings_buyer_id_users_id_fk": { + "name": "market_listings_buyer_id_users_id_fk", + "tableFrom": "market_listings", + "tableTo": "users", + "columnsFrom": [ + "buyer_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.market_negotiations_history": { + "name": "market_negotiations_history", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "from": { + "name": "from", + "type": "enum_market_negotiations_history_from", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "note": { + "name": "note", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "at": { + "name": "at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "market_negotiations_history_order_idx": { + "name": "market_negotiations_history_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_negotiations_history_parent_id_idx": { + "name": "market_negotiations_history_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "market_negotiations_history_parent_id_fk": { + "name": "market_negotiations_history_parent_id_fk", + "tableFrom": "market_negotiations_history", + "tableTo": "market_negotiations", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.market_negotiations": { + "name": "market_negotiations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "listing_id": { + "name": "listing_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "buyer_id": { + "name": "buyer_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "enum_market_negotiations_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'open'" + }, + "patience": { + "name": "patience", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "quantity": { + "name": "quantity", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "proposed_by": { + "name": "proposed_by", + "type": "enum_market_negotiations_proposed_by", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'buyer'" + }, + "accepted_price": { + "name": "accepted_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "market_negotiations_listing_idx": { + "name": "market_negotiations_listing_idx", + "columns": [ + { + "expression": "listing_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_negotiations_buyer_idx": { + "name": "market_negotiations_buyer_idx", + "columns": [ + { + "expression": "buyer_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_negotiations_status_idx": { + "name": "market_negotiations_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_negotiations_updated_at_idx": { + "name": "market_negotiations_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_negotiations_created_at_idx": { + "name": "market_negotiations_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "market_negotiations_listing_id_market_listings_id_fk": { + "name": "market_negotiations_listing_id_market_listings_id_fk", + "tableFrom": "market_negotiations", + "tableTo": "market_listings", + "columnsFrom": [ + "listing_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "market_negotiations_buyer_id_users_id_fk": { + "name": "market_negotiations_buyer_id_users_id_fk", + "tableFrom": "market_negotiations", + "tableTo": "users", + "columnsFrom": [ + "buyer_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.market_state": { + "name": "market_state", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "item_type": { + "name": "item_type", + "type": "enum_market_state_item_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "item_id": { + "name": "item_id", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "gm_baseline_supply": { + "name": "gm_baseline_supply", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 100 + }, + "gm_baseline_demand": { + "name": "gm_baseline_demand", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 50 + }, + "current_supply": { + "name": "current_supply", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 100 + }, + "artificial_demand": { + "name": "artificial_demand", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 50 + }, + "real_demand": { + "name": "real_demand", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "price_modifier": { + "name": "price_modifier", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "last_computed_at": { + "name": "last_computed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "market_state_item_type_idx": { + "name": "market_state_item_type_idx", + "columns": [ + { + "expression": "item_type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_state_item_id_idx": { + "name": "market_state_item_id_idx", + "columns": [ + { + "expression": "item_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_state_updated_at_idx": { + "name": "market_state_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_state_created_at_idx": { + "name": "market_state_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "itemType_itemId_idx": { + "name": "itemType_itemId_idx", + "columns": [ + { + "expression": "item_type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "item_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.voice_scripts": { + "name": "voice_scripts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "script": { + "name": "script", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "xp_amount": { + "name": "xp_amount", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 250 + }, + "spoiler": { + "name": "spoiler", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "status": { + "name": "status", + "type": "enum_voice_scripts_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'draft'" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "voice_scripts_updated_at_idx": { + "name": "voice_scripts_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "voice_scripts_created_at_idx": { + "name": "voice_scripts_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.voice_submissions": { + "name": "voice_submissions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "script_id": { + "name": "script_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_voice_submissions_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "review_note": { + "name": "review_note", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "thumbnail_u_r_l": { + "name": "thumbnail_u_r_l", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filename": { + "name": "filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "mime_type": { + "name": "mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filesize": { + "name": "filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_x": { + "name": "focal_x", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_y": { + "name": "focal_y", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "voice_submissions_script_idx": { + "name": "voice_submissions_script_idx", + "columns": [ + { + "expression": "script_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "voice_submissions_user_idx": { + "name": "voice_submissions_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "voice_submissions_updated_at_idx": { + "name": "voice_submissions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "voice_submissions_created_at_idx": { + "name": "voice_submissions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "voice_submissions_filename_idx": { + "name": "voice_submissions_filename_idx", + "columns": [ + { + "expression": "filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "voice_submissions_script_id_voice_scripts_id_fk": { + "name": "voice_submissions_script_id_voice_scripts_id_fk", + "tableFrom": "voice_submissions", + "tableTo": "voice_scripts", + "columnsFrom": [ + "script_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "voice_submissions_user_id_users_id_fk": { + "name": "voice_submissions_user_id_users_id_fk", + "tableFrom": "voice_submissions", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.tickets_activity": { + "name": "tickets_activity", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_tickets_activity_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'system'" + }, + "content": { + "name": "content", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "author_id": { + "name": "author_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "tickets_activity_order_idx": { + "name": "tickets_activity_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_activity_parent_id_idx": { + "name": "tickets_activity_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_activity_author_idx": { + "name": "tickets_activity_author_idx", + "columns": [ + { + "expression": "author_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "tickets_activity_author_id_users_id_fk": { + "name": "tickets_activity_author_id_users_id_fk", + "tableFrom": "tickets_activity", + "tableTo": "users", + "columnsFrom": [ + "author_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "tickets_activity_parent_id_fk": { + "name": "tickets_activity_parent_id_fk", + "tableFrom": "tickets_activity", + "tableTo": "tickets", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.tickets_edit_history": { + "name": "tickets_edit_history", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "before": { + "name": "before", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "after": { + "name": "after", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "edited_by_id": { + "name": "edited_by_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "edited_at": { + "name": "edited_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "tickets_edit_history_order_idx": { + "name": "tickets_edit_history_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_edit_history_parent_id_idx": { + "name": "tickets_edit_history_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_edit_history_edited_by_idx": { + "name": "tickets_edit_history_edited_by_idx", + "columns": [ + { + "expression": "edited_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "tickets_edit_history_edited_by_id_users_id_fk": { + "name": "tickets_edit_history_edited_by_id_users_id_fk", + "tableFrom": "tickets_edit_history", + "tableTo": "users", + "columnsFrom": [ + "edited_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "tickets_edit_history_parent_id_fk": { + "name": "tickets_edit_history_parent_id_fk", + "tableFrom": "tickets_edit_history", + "tableTo": "tickets", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.tickets": { + "name": "tickets", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "category": { + "name": "category", + "type": "enum_tickets_category", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'support_request'" + }, + "priority": { + "name": "priority", + "type": "enum_tickets_priority", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'medium'" + }, + "status": { + "name": "status", + "type": "enum_tickets_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'open'" + }, + "reporter_id": { + "name": "reporter_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "assignee_id": { + "name": "assignee_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "closed_at": { + "name": "closed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "project_id": { + "name": "project_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "sprint_id": { + "name": "sprint_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "release_id": { + "name": "release_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_ticket_id": { + "name": "parent_ticket_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "type": { + "name": "type", + "type": "enum_tickets_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'task'" + }, + "story_points": { + "name": "story_points", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "estimate": { + "name": "estimate", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "start_date": { + "name": "start_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "due_date": { + "name": "due_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "resolution": { + "name": "resolution", + "type": "enum_tickets_resolution", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "tickets_category_idx": { + "name": "tickets_category_idx", + "columns": [ + { + "expression": "category", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_priority_idx": { + "name": "tickets_priority_idx", + "columns": [ + { + "expression": "priority", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_status_idx": { + "name": "tickets_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_reporter_idx": { + "name": "tickets_reporter_idx", + "columns": [ + { + "expression": "reporter_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_assignee_idx": { + "name": "tickets_assignee_idx", + "columns": [ + { + "expression": "assignee_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_project_idx": { + "name": "tickets_project_idx", + "columns": [ + { + "expression": "project_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_sprint_idx": { + "name": "tickets_sprint_idx", + "columns": [ + { + "expression": "sprint_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_release_idx": { + "name": "tickets_release_idx", + "columns": [ + { + "expression": "release_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_parent_ticket_idx": { + "name": "tickets_parent_ticket_idx", + "columns": [ + { + "expression": "parent_ticket_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_updated_at_idx": { + "name": "tickets_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_created_at_idx": { + "name": "tickets_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "tickets_reporter_id_users_id_fk": { + "name": "tickets_reporter_id_users_id_fk", + "tableFrom": "tickets", + "tableTo": "users", + "columnsFrom": [ + "reporter_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "tickets_assignee_id_users_id_fk": { + "name": "tickets_assignee_id_users_id_fk", + "tableFrom": "tickets", + "tableTo": "users", + "columnsFrom": [ + "assignee_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "tickets_project_id_projects_id_fk": { + "name": "tickets_project_id_projects_id_fk", + "tableFrom": "tickets", + "tableTo": "projects", + "columnsFrom": [ + "project_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "tickets_sprint_id_sprints_id_fk": { + "name": "tickets_sprint_id_sprints_id_fk", + "tableFrom": "tickets", + "tableTo": "sprints", + "columnsFrom": [ + "sprint_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "tickets_release_id_releases_id_fk": { + "name": "tickets_release_id_releases_id_fk", + "tableFrom": "tickets", + "tableTo": "releases", + "columnsFrom": [ + "release_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "tickets_parent_ticket_id_tickets_id_fk": { + "name": "tickets_parent_ticket_id_tickets_id_fk", + "tableFrom": "tickets", + "tableTo": "tickets", + "columnsFrom": [ + "parent_ticket_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.tickets_rels": { + "name": "tickets_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "labels_id": { + "name": "labels_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "tickets_rels_order_idx": { + "name": "tickets_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_rels_parent_idx": { + "name": "tickets_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_rels_path_idx": { + "name": "tickets_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_rels_labels_id_idx": { + "name": "tickets_rels_labels_id_idx", + "columns": [ + { + "expression": "labels_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "tickets_rels_parent_fk": { + "name": "tickets_rels_parent_fk", + "tableFrom": "tickets_rels", + "tableTo": "tickets", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "tickets_rels_labels_fk": { + "name": "tickets_rels_labels_fk", + "tableFrom": "tickets_rels", + "tableTo": "labels", + "columnsFrom": [ + "labels_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ticket_votes": { + "name": "ticket_votes", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "ticket_id": { + "name": "ticket_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "ticket_votes_ticket_idx": { + "name": "ticket_votes_ticket_idx", + "columns": [ + { + "expression": "ticket_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ticket_votes_user_idx": { + "name": "ticket_votes_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ticket_votes_updated_at_idx": { + "name": "ticket_votes_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ticket_votes_created_at_idx": { + "name": "ticket_votes_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ticket_user_idx": { + "name": "ticket_user_idx", + "columns": [ + { + "expression": "ticket_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "ticket_votes_ticket_id_tickets_id_fk": { + "name": "ticket_votes_ticket_id_tickets_id_fk", + "tableFrom": "ticket_votes", + "tableTo": "tickets", + "columnsFrom": [ + "ticket_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "ticket_votes_user_id_users_id_fk": { + "name": "ticket_votes_user_id_users_id_fk", + "tableFrom": "ticket_votes", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.wiki_pages": { + "name": "wiki_pages", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "category": { + "name": "category", + "type": "enum_wiki_pages_category", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "body": { + "name": "body", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "lockdown": { + "name": "lockdown", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "locked_by_id": { + "name": "locked_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "locked_at": { + "name": "locked_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "last_editor_id": { + "name": "last_editor_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "wiki_pages_slug_idx": { + "name": "wiki_pages_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_pages_category_idx": { + "name": "wiki_pages_category_idx", + "columns": [ + { + "expression": "category", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_pages_locked_by_idx": { + "name": "wiki_pages_locked_by_idx", + "columns": [ + { + "expression": "locked_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_pages_last_editor_idx": { + "name": "wiki_pages_last_editor_idx", + "columns": [ + { + "expression": "last_editor_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_pages_updated_at_idx": { + "name": "wiki_pages_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_pages_created_at_idx": { + "name": "wiki_pages_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "wiki_pages_locked_by_id_users_id_fk": { + "name": "wiki_pages_locked_by_id_users_id_fk", + "tableFrom": "wiki_pages", + "tableTo": "users", + "columnsFrom": [ + "locked_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "wiki_pages_last_editor_id_users_id_fk": { + "name": "wiki_pages_last_editor_id_users_id_fk", + "tableFrom": "wiki_pages", + "tableTo": "users", + "columnsFrom": [ + "last_editor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.wiki_pages_texts": { + "name": "wiki_pages_texts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "text": { + "name": "text", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "wiki_pages_texts_order_parent": { + "name": "wiki_pages_texts_order_parent", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "wiki_pages_texts_parent_fk": { + "name": "wiki_pages_texts_parent_fk", + "tableFrom": "wiki_pages_texts", + "tableTo": "wiki_pages", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.wiki_revisions": { + "name": "wiki_revisions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "page_id": { + "name": "page_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "revision_number": { + "name": "revision_number", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "title_snapshot": { + "name": "title_snapshot", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "content_snapshot": { + "name": "content_snapshot", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "editor_id": { + "name": "editor_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "type": { + "name": "type", + "type": "enum_wiki_revisions_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "restored_from_revision": { + "name": "restored_from_revision", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "wiki_revisions_page_idx": { + "name": "wiki_revisions_page_idx", + "columns": [ + { + "expression": "page_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_revisions_editor_idx": { + "name": "wiki_revisions_editor_idx", + "columns": [ + { + "expression": "editor_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_revisions_updated_at_idx": { + "name": "wiki_revisions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_revisions_created_at_idx": { + "name": "wiki_revisions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "wiki_revisions_page_id_wiki_pages_id_fk": { + "name": "wiki_revisions_page_id_wiki_pages_id_fk", + "tableFrom": "wiki_revisions", + "tableTo": "wiki_pages", + "columnsFrom": [ + "page_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "wiki_revisions_editor_id_users_id_fk": { + "name": "wiki_revisions_editor_id_users_id_fk", + "tableFrom": "wiki_revisions", + "tableTo": "users", + "columnsFrom": [ + "editor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.wiki_templates": { + "name": "wiki_templates", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "body": { + "name": "body", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "css": { + "name": "css", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "html": { + "name": "html", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "wiki_templates_name_idx": { + "name": "wiki_templates_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_templates_updated_at_idx": { + "name": "wiki_templates_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_templates_created_at_idx": { + "name": "wiki_templates_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.projects": { + "name": "projects", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "lead_id": { + "name": "lead_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_projects_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'active'" + }, + "default_assignee_id": { + "name": "default_assignee_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "projects_key_idx": { + "name": "projects_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "projects_lead_idx": { + "name": "projects_lead_idx", + "columns": [ + { + "expression": "lead_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "projects_default_assignee_idx": { + "name": "projects_default_assignee_idx", + "columns": [ + { + "expression": "default_assignee_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "projects_updated_at_idx": { + "name": "projects_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "projects_created_at_idx": { + "name": "projects_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "projects_lead_id_users_id_fk": { + "name": "projects_lead_id_users_id_fk", + "tableFrom": "projects", + "tableTo": "users", + "columnsFrom": [ + "lead_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "projects_default_assignee_id_users_id_fk": { + "name": "projects_default_assignee_id_users_id_fk", + "tableFrom": "projects", + "tableTo": "users", + "columnsFrom": [ + "default_assignee_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.sprints": { + "name": "sprints", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "project_id": { + "name": "project_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "goal": { + "name": "goal", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "start_date": { + "name": "start_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "end_date": { + "name": "end_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_sprints_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'planning'" + }, + "capacity": { + "name": "capacity", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "sprints_project_idx": { + "name": "sprints_project_idx", + "columns": [ + { + "expression": "project_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "sprints_updated_at_idx": { + "name": "sprints_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "sprints_created_at_idx": { + "name": "sprints_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "sprints_project_id_projects_id_fk": { + "name": "sprints_project_id_projects_id_fk", + "tableFrom": "sprints", + "tableTo": "projects", + "columnsFrom": [ + "project_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.releases": { + "name": "releases", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "project_id": { + "name": "project_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_releases_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "release_date": { + "name": "release_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "target_version": { + "name": "target_version", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "releases_project_idx": { + "name": "releases_project_idx", + "columns": [ + { + "expression": "project_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "releases_updated_at_idx": { + "name": "releases_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "releases_created_at_idx": { + "name": "releases_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "releases_project_id_projects_id_fk": { + "name": "releases_project_id_projects_id_fk", + "tableFrom": "releases", + "tableTo": "projects", + "columnsFrom": [ + "project_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.labels": { + "name": "labels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "color": { + "name": "color", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'#6366f1'" + }, + "project_id": { + "name": "project_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "labels_project_idx": { + "name": "labels_project_idx", + "columns": [ + { + "expression": "project_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "labels_updated_at_idx": { + "name": "labels_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "labels_created_at_idx": { + "name": "labels_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "labels_project_id_projects_id_fk": { + "name": "labels_project_id_projects_id_fk", + "tableFrom": "labels", + "tableTo": "projects", + "columnsFrom": [ + "project_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.maps": { + "name": "maps", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "world_size_width": { + "name": "world_size_width", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 8192 + }, + "world_size_height": { + "name": "world_size_height", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 8192 + }, + "basemap_mode": { + "name": "basemap_mode", + "type": "enum_maps_basemap_mode", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'image'" + }, + "basemap_image_id": { + "name": "basemap_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "tile_url_template": { + "name": "tile_url_template", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "min_zoom": { + "name": "min_zoom", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "max_zoom": { + "name": "max_zoom", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 12 + }, + "default_center_x": { + "name": "default_center_x", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "default_center_y": { + "name": "default_center_y", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "default_zoom": { + "name": "default_zoom", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 2 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "maps_name_idx": { + "name": "maps_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "maps_basemap_image_idx": { + "name": "maps_basemap_image_idx", + "columns": [ + { + "expression": "basemap_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "maps_updated_at_idx": { + "name": "maps_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "maps_created_at_idx": { + "name": "maps_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "maps_basemap_image_id_media_id_fk": { + "name": "maps_basemap_image_id_media_id_fk", + "tableFrom": "maps", + "tableTo": "media", + "columnsFrom": [ + "basemap_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.map_roads": { + "name": "map_roads", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "map_id": { + "name": "map_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "surface": { + "name": "surface", + "type": "enum_map_roads_surface", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'paved'" + }, + "speed_multiplier": { + "name": "speed_multiplier", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "stroke_color": { + "name": "stroke_color", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "stroke_weight": { + "name": "stroke_weight", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 2 + }, + "stroke_style": { + "name": "stroke_style", + "type": "enum_map_roads_stroke_style", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'solid'" + }, + "label_visible": { + "name": "label_visible", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "points": { + "name": "points", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "map_roads_map_idx": { + "name": "map_roads_map_idx", + "columns": [ + { + "expression": "map_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "map_roads_updated_at_idx": { + "name": "map_roads_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "map_roads_created_at_idx": { + "name": "map_roads_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "map_roads_map_id_maps_id_fk": { + "name": "map_roads_map_id_maps_id_fk", + "tableFrom": "map_roads", + "tableTo": "maps", + "columnsFrom": [ + "map_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.map_zones": { + "name": "map_zones", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "map_id": { + "name": "map_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_map_zones_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "fill_color": { + "name": "fill_color", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "stroke_color": { + "name": "stroke_color", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "fill_opacity": { + "name": "fill_opacity", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "stroke_weight": { + "name": "stroke_weight", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "label_visible": { + "name": "label_visible", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "points": { + "name": "points", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "map_zones_map_idx": { + "name": "map_zones_map_idx", + "columns": [ + { + "expression": "map_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "map_zones_updated_at_idx": { + "name": "map_zones_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "map_zones_created_at_idx": { + "name": "map_zones_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "map_zones_map_id_maps_id_fk": { + "name": "map_zones_map_id_maps_id_fk", + "tableFrom": "map_zones", + "tableTo": "maps", + "columnsFrom": [ + "map_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.map_zones_rels": { + "name": "map_zones_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "map_zones_rels_order_idx": { + "name": "map_zones_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "map_zones_rels_parent_idx": { + "name": "map_zones_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "map_zones_rels_path_idx": { + "name": "map_zones_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "map_zones_rels_resources_id_idx": { + "name": "map_zones_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "map_zones_rels_parent_fk": { + "name": "map_zones_rels_parent_fk", + "tableFrom": "map_zones_rels", + "tableTo": "map_zones", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "map_zones_rels_resources_fk": { + "name": "map_zones_rels_resources_fk", + "tableFrom": "map_zones_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.resource_nodes": { + "name": "resource_nodes", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "map_id": { + "name": "map_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "position": { + "name": "position", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "richness": { + "name": "richness", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 100 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "resource_nodes_map_idx": { + "name": "resource_nodes_map_idx", + "columns": [ + { + "expression": "map_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resource_nodes_updated_at_idx": { + "name": "resource_nodes_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resource_nodes_created_at_idx": { + "name": "resource_nodes_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "resource_nodes_map_id_maps_id_fk": { + "name": "resource_nodes_map_id_maps_id_fk", + "tableFrom": "resource_nodes", + "tableTo": "maps", + "columnsFrom": [ + "map_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.resource_nodes_rels": { + "name": "resource_nodes_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "resource_nodes_rels_order_idx": { + "name": "resource_nodes_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resource_nodes_rels_parent_idx": { + "name": "resource_nodes_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resource_nodes_rels_path_idx": { + "name": "resource_nodes_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resource_nodes_rels_resources_id_idx": { + "name": "resource_nodes_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "resource_nodes_rels_parent_fk": { + "name": "resource_nodes_rels_parent_fk", + "tableFrom": "resource_nodes_rels", + "tableTo": "resource_nodes", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "resource_nodes_rels_resources_fk": { + "name": "resource_nodes_rels_resources_fk", + "tableFrom": "resource_nodes_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.narrative_events": { + "name": "narrative_events", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "flow_data": { + "name": "flow_data", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "triggers_type": { + "name": "triggers_type", + "type": "enum_narrative_events_triggers_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'manual'" + }, + "triggers_condition": { + "name": "triggers_condition", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "narrative_events_updated_at_idx": { + "name": "narrative_events_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "narrative_events_created_at_idx": { + "name": "narrative_events_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.story_beats": { + "name": "story_beats", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "occurred_at": { + "name": "occurred_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "order": { + "name": "order", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_story_beats_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'draft'" + }, + "body": { + "name": "body", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "mission_id": { + "name": "mission_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "story_beats_status_idx": { + "name": "story_beats_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "story_beats_mission_idx": { + "name": "story_beats_mission_idx", + "columns": [ + { + "expression": "mission_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "story_beats_updated_at_idx": { + "name": "story_beats_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "story_beats_created_at_idx": { + "name": "story_beats_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "story_beats_mission_id_missions_id_fk": { + "name": "story_beats_mission_id_missions_id_fk", + "tableFrom": "story_beats", + "tableTo": "missions", + "columnsFrom": [ + "mission_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.story_beat_states": { + "name": "story_beat_states", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "beat_id": { + "name": "beat_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "read_at": { + "name": "read_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "reaction": { + "name": "reaction", + "type": "enum_story_beat_states_reaction", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "story_beat_states_user_idx": { + "name": "story_beat_states_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "story_beat_states_beat_idx": { + "name": "story_beat_states_beat_idx", + "columns": [ + { + "expression": "beat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "story_beat_states_updated_at_idx": { + "name": "story_beat_states_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "story_beat_states_created_at_idx": { + "name": "story_beat_states_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "story_beat_states_user_id_users_id_fk": { + "name": "story_beat_states_user_id_users_id_fk", + "tableFrom": "story_beat_states", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "story_beat_states_beat_id_story_beats_id_fk": { + "name": "story_beat_states_beat_id_story_beats_id_fk", + "tableFrom": "story_beat_states", + "tableTo": "story_beats", + "columnsFrom": [ + "beat_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mission_files": { + "name": "mission_files", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "mission_file_name": { + "name": "mission_file_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "author_id": { + "name": "author_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "thumbnail_u_r_l": { + "name": "thumbnail_u_r_l", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filename": { + "name": "filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "mime_type": { + "name": "mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filesize": { + "name": "filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_x": { + "name": "focal_x", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_y": { + "name": "focal_y", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "mission_files_author_idx": { + "name": "mission_files_author_idx", + "columns": [ + { + "expression": "author_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_files_updated_at_idx": { + "name": "mission_files_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_files_created_at_idx": { + "name": "mission_files_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_files_filename_idx": { + "name": "mission_files_filename_idx", + "columns": [ + { + "expression": "filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "mission_files_author_id_users_id_fk": { + "name": "mission_files_author_id_users_id_fk", + "tableFrom": "mission_files", + "tableTo": "users", + "columnsFrom": [ + "author_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mod_lists": { + "name": "mod_lists", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "modlist_name": { + "name": "modlist_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "author_id": { + "name": "author_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "thumbnail_u_r_l": { + "name": "thumbnail_u_r_l", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filename": { + "name": "filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "mime_type": { + "name": "mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filesize": { + "name": "filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_x": { + "name": "focal_x", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_y": { + "name": "focal_y", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "mod_lists_author_idx": { + "name": "mod_lists_author_idx", + "columns": [ + { + "expression": "author_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mod_lists_updated_at_idx": { + "name": "mod_lists_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mod_lists_created_at_idx": { + "name": "mod_lists_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mod_lists_filename_idx": { + "name": "mod_lists_filename_idx", + "columns": [ + { + "expression": "filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "mod_lists_author_id_users_id_fk": { + "name": "mod_lists_author_id_users_id_fk", + "tableFrom": "mod_lists", + "tableTo": "users", + "columnsFrom": [ + "author_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_servers": { + "name": "game_servers", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "server_id": { + "name": "server_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "enum_game_servers_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'offline'" + }, + "last_seen_at": { + "name": "last_seen_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "metadata": { + "name": "metadata", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_servers_server_id_idx": { + "name": "game_servers_server_id_idx", + "columns": [ + { + "expression": "server_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_servers_updated_at_idx": { + "name": "game_servers_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_servers_created_at_idx": { + "name": "game_servers_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.arma_sync_events": { + "name": "arma_sync_events", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "event_id": { + "name": "event_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "server_id": { + "name": "server_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "occurred_at": { + "name": "occurred_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "payload": { + "name": "payload", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "arma_sync_events_event_id_idx": { + "name": "arma_sync_events_event_id_idx", + "columns": [ + { + "expression": "event_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "arma_sync_events_server_idx": { + "name": "arma_sync_events_server_idx", + "columns": [ + { + "expression": "server_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "arma_sync_events_type_idx": { + "name": "arma_sync_events_type_idx", + "columns": [ + { + "expression": "type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "arma_sync_events_updated_at_idx": { + "name": "arma_sync_events_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "arma_sync_events_created_at_idx": { + "name": "arma_sync_events_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "arma_sync_events_server_id_game_servers_id_fk": { + "name": "arma_sync_events_server_id_game_servers_id_fk", + "tableFrom": "arma_sync_events", + "tableTo": "game_servers", + "columnsFrom": [ + "server_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.arma_commands": { + "name": "arma_commands", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "command_id": { + "name": "command_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "server_id": { + "name": "server_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "payload": { + "name": "payload", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "enum_arma_commands_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'queued'" + }, + "result": { + "name": "result", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "error": { + "name": "error", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "delivered_at": { + "name": "delivered_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "completed_at": { + "name": "completed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "arma_commands_command_id_idx": { + "name": "arma_commands_command_id_idx", + "columns": [ + { + "expression": "command_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "arma_commands_server_idx": { + "name": "arma_commands_server_idx", + "columns": [ + { + "expression": "server_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "arma_commands_updated_at_idx": { + "name": "arma_commands_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "arma_commands_created_at_idx": { + "name": "arma_commands_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "arma_commands_server_id_game_servers_id_fk": { + "name": "arma_commands_server_id_game_servers_id_fk", + "tableFrom": "arma_commands", + "tableTo": "game_servers", + "columnsFrom": [ + "server_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.respawn_tickets": { + "name": "respawn_tickets", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "balance": { + "name": "balance", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "respawn_tickets_user_idx": { + "name": "respawn_tickets_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "respawn_tickets_updated_at_idx": { + "name": "respawn_tickets_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "respawn_tickets_created_at_idx": { + "name": "respawn_tickets_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "respawn_tickets_user_id_users_id_fk": { + "name": "respawn_tickets_user_id_users_id_fk", + "tableFrom": "respawn_tickets", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.operation_events": { + "name": "operation_events", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "source_event_id": { + "name": "source_event_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "event_id": { + "name": "event_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "operation_id": { + "name": "operation_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "version": { + "name": "version", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "status": { + "name": "status", + "type": "enum_operation_events_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'validated'" + }, + "error": { + "name": "error", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "payload_hash": { + "name": "payload_hash", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "actor_id": { + "name": "actor_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "server_id": { + "name": "server_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "mission_id": { + "name": "mission_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "occurred_at": { + "name": "occurred_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "validated_at": { + "name": "validated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "reconciliation_notes": { + "name": "reconciliation_notes", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "operation_events_source_event_idx": { + "name": "operation_events_source_event_idx", + "columns": [ + { + "expression": "source_event_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_events_event_id_idx": { + "name": "operation_events_event_id_idx", + "columns": [ + { + "expression": "event_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_events_operation_id_idx": { + "name": "operation_events_operation_id_idx", + "columns": [ + { + "expression": "operation_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_events_type_idx": { + "name": "operation_events_type_idx", + "columns": [ + { + "expression": "type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_events_actor_idx": { + "name": "operation_events_actor_idx", + "columns": [ + { + "expression": "actor_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_events_server_idx": { + "name": "operation_events_server_idx", + "columns": [ + { + "expression": "server_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_events_mission_idx": { + "name": "operation_events_mission_idx", + "columns": [ + { + "expression": "mission_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_events_updated_at_idx": { + "name": "operation_events_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_events_created_at_idx": { + "name": "operation_events_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "operation_events_source_event_id_arma_sync_events_id_fk": { + "name": "operation_events_source_event_id_arma_sync_events_id_fk", + "tableFrom": "operation_events", + "tableTo": "arma_sync_events", + "columnsFrom": [ + "source_event_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_events_actor_id_users_id_fk": { + "name": "operation_events_actor_id_users_id_fk", + "tableFrom": "operation_events", + "tableTo": "users", + "columnsFrom": [ + "actor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_events_server_id_game_servers_id_fk": { + "name": "operation_events_server_id_game_servers_id_fk", + "tableFrom": "operation_events", + "tableTo": "game_servers", + "columnsFrom": [ + "server_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_events_mission_id_missions_id_fk": { + "name": "operation_events_mission_id_missions_id_fk", + "tableFrom": "operation_events", + "tableTo": "missions", + "columnsFrom": [ + "mission_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.operation_effects": { + "name": "operation_effects", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "operation_event_id": { + "name": "operation_event_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "source_event_id": { + "name": "source_event_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "operation_id": { + "name": "operation_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "effect_key": { + "name": "effect_key", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "effect_type": { + "name": "effect_type", + "type": "enum_operation_effects_effect_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "enum_operation_effects_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'applied'" + }, + "payload": { + "name": "payload", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "reversal_of_id": { + "name": "reversal_of_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "reversed_by_id": { + "name": "reversed_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "reconciliation_notes": { + "name": "reconciliation_notes", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "applied_at": { + "name": "applied_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "operation_effects_operation_event_idx": { + "name": "operation_effects_operation_event_idx", + "columns": [ + { + "expression": "operation_event_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_effects_source_event_idx": { + "name": "operation_effects_source_event_idx", + "columns": [ + { + "expression": "source_event_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_effects_operation_id_idx": { + "name": "operation_effects_operation_id_idx", + "columns": [ + { + "expression": "operation_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_effects_effect_key_idx": { + "name": "operation_effects_effect_key_idx", + "columns": [ + { + "expression": "effect_key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_effects_reversal_of_idx": { + "name": "operation_effects_reversal_of_idx", + "columns": [ + { + "expression": "reversal_of_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_effects_reversed_by_idx": { + "name": "operation_effects_reversed_by_idx", + "columns": [ + { + "expression": "reversed_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_effects_updated_at_idx": { + "name": "operation_effects_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_effects_created_at_idx": { + "name": "operation_effects_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "operation_effects_operation_event_id_operation_events_id_fk": { + "name": "operation_effects_operation_event_id_operation_events_id_fk", + "tableFrom": "operation_effects", + "tableTo": "operation_events", + "columnsFrom": [ + "operation_event_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_effects_source_event_id_arma_sync_events_id_fk": { + "name": "operation_effects_source_event_id_arma_sync_events_id_fk", + "tableFrom": "operation_effects", + "tableTo": "arma_sync_events", + "columnsFrom": [ + "source_event_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_effects_reversal_of_id_operation_effects_id_fk": { + "name": "operation_effects_reversal_of_id_operation_effects_id_fk", + "tableFrom": "operation_effects", + "tableTo": "operation_effects", + "columnsFrom": [ + "reversal_of_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_effects_reversed_by_id_operation_effects_id_fk": { + "name": "operation_effects_reversed_by_id_operation_effects_id_fk", + "tableFrom": "operation_effects", + "tableTo": "operation_effects", + "columnsFrom": [ + "reversed_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.operation_reservations_personnel": { + "name": "operation_reservations_personnel", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "slot": { + "name": "slot", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "operation_reservations_personnel_order_idx": { + "name": "operation_reservations_personnel_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_personnel_parent_id_idx": { + "name": "operation_reservations_personnel_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_personnel_user_idx": { + "name": "operation_reservations_personnel_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "operation_reservations_personnel_user_id_users_id_fk": { + "name": "operation_reservations_personnel_user_id_users_id_fk", + "tableFrom": "operation_reservations_personnel", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_reservations_personnel_parent_id_fk": { + "name": "operation_reservations_personnel_parent_id_fk", + "tableFrom": "operation_reservations_personnel", + "tableTo": "operation_reservations", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.operation_reservations_vehicles": { + "name": "operation_reservations_vehicles", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "vehicle_id": { + "name": "vehicle_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "operation_reservations_vehicles_order_idx": { + "name": "operation_reservations_vehicles_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_vehicles_parent_id_idx": { + "name": "operation_reservations_vehicles_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_vehicles_vehicle_idx": { + "name": "operation_reservations_vehicles_vehicle_idx", + "columns": [ + { + "expression": "vehicle_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "operation_reservations_vehicles_vehicle_id_game_vehicles_id_fk": { + "name": "operation_reservations_vehicles_vehicle_id_game_vehicles_id_fk", + "tableFrom": "operation_reservations_vehicles", + "tableTo": "game_vehicles", + "columnsFrom": [ + "vehicle_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_reservations_vehicles_parent_id_fk": { + "name": "operation_reservations_vehicles_parent_id_fk", + "tableFrom": "operation_reservations_vehicles", + "tableTo": "operation_reservations", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.operation_reservations_cargo": { + "name": "operation_reservations_cargo", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "operation_reservations_cargo_order_idx": { + "name": "operation_reservations_cargo_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_cargo_parent_id_idx": { + "name": "operation_reservations_cargo_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_cargo_resource_idx": { + "name": "operation_reservations_cargo_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "operation_reservations_cargo_resource_id_resources_id_fk": { + "name": "operation_reservations_cargo_resource_id_resources_id_fk", + "tableFrom": "operation_reservations_cargo", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_reservations_cargo_parent_id_fk": { + "name": "operation_reservations_cargo_parent_id_fk", + "tableFrom": "operation_reservations_cargo", + "tableTo": "operation_reservations", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.operation_reservations": { + "name": "operation_reservations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "reservation_key": { + "name": "reservation_key", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "operation_id": { + "name": "operation_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "mission_id": { + "name": "mission_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_operation_reservations_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'reserved'" + }, + "budget_account_id": { + "name": "budget_account_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "budget_amount": { + "name": "budget_amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "origin_id": { + "name": "origin_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "destination_id": { + "name": "destination_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_by_id": { + "name": "created_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "settled_at": { + "name": "settled_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "settled_by_effect_id": { + "name": "settled_by_effect_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "settlement": { + "name": "settlement", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "operation_reservations_reservation_key_idx": { + "name": "operation_reservations_reservation_key_idx", + "columns": [ + { + "expression": "reservation_key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_operation_id_idx": { + "name": "operation_reservations_operation_id_idx", + "columns": [ + { + "expression": "operation_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_mission_idx": { + "name": "operation_reservations_mission_idx", + "columns": [ + { + "expression": "mission_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_budget_budget_account_idx": { + "name": "operation_reservations_budget_budget_account_idx", + "columns": [ + { + "expression": "budget_account_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_origin_idx": { + "name": "operation_reservations_origin_idx", + "columns": [ + { + "expression": "origin_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_destination_idx": { + "name": "operation_reservations_destination_idx", + "columns": [ + { + "expression": "destination_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_created_by_idx": { + "name": "operation_reservations_created_by_idx", + "columns": [ + { + "expression": "created_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_settled_by_effect_idx": { + "name": "operation_reservations_settled_by_effect_idx", + "columns": [ + { + "expression": "settled_by_effect_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_updated_at_idx": { + "name": "operation_reservations_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_created_at_idx": { + "name": "operation_reservations_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "operation_reservations_mission_id_missions_id_fk": { + "name": "operation_reservations_mission_id_missions_id_fk", + "tableFrom": "operation_reservations", + "tableTo": "missions", + "columnsFrom": [ + "mission_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_reservations_budget_account_id_bank_accounts_id_fk": { + "name": "operation_reservations_budget_account_id_bank_accounts_id_fk", + "tableFrom": "operation_reservations", + "tableTo": "bank_accounts", + "columnsFrom": [ + "budget_account_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_reservations_origin_id_game_structures_id_fk": { + "name": "operation_reservations_origin_id_game_structures_id_fk", + "tableFrom": "operation_reservations", + "tableTo": "game_structures", + "columnsFrom": [ + "origin_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_reservations_destination_id_game_structures_id_fk": { + "name": "operation_reservations_destination_id_game_structures_id_fk", + "tableFrom": "operation_reservations", + "tableTo": "game_structures", + "columnsFrom": [ + "destination_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_reservations_created_by_id_users_id_fk": { + "name": "operation_reservations_created_by_id_users_id_fk", + "tableFrom": "operation_reservations", + "tableTo": "users", + "columnsFrom": [ + "created_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_reservations_settled_by_effect_id_operation_effects_id_fk": { + "name": "operation_reservations_settled_by_effect_id_operation_effects_id_fk", + "tableFrom": "operation_reservations", + "tableTo": "operation_effects", + "columnsFrom": [ + "settled_by_effect_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.operation_readiness": { + "name": "operation_readiness", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "subject_type": { + "name": "subject_type", + "type": "enum_operation_readiness_subject_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "subject_id": { + "name": "subject_id", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "subject_label": { + "name": "subject_label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "window_start": { + "name": "window_start", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "window_end": { + "name": "window_end", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "window_label": { + "name": "window_label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "operation_id": { + "name": "operation_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "calculation_version": { + "name": "calculation_version", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'1.0.0'" + }, + "nature": { + "name": "nature", + "type": "enum_operation_readiness_nature", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'advisory'" + }, + "readiness_score": { + "name": "readiness_score", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "planning_confidence_score": { + "name": "planning_confidence_score", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "contributing_categories": { + "name": "contributing_categories", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "input_count": { + "name": "input_count", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "explanation": { + "name": "explanation", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "recomputed_at": { + "name": "recomputed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "operation_readiness_updated_at_idx": { + "name": "operation_readiness_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_readiness_created_at_idx": { + "name": "operation_readiness_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.custom_minefields": { + "name": "custom_minefields", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "author_id": { + "name": "author_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "rows": { + "name": "rows", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "cols": { + "name": "cols", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "mines": { + "name": "mines", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "mine_count": { + "name": "mine_count", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "published": { + "name": "published", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "expose_edge_mines": { + "name": "expose_edge_mines", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "play_count": { + "name": "play_count", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "creator_xp_bank": { + "name": "creator_xp_bank", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "custom_minefields_author_idx": { + "name": "custom_minefields_author_idx", + "columns": [ + { + "expression": "author_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_minefields_updated_at_idx": { + "name": "custom_minefields_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_minefields_created_at_idx": { + "name": "custom_minefields_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "custom_minefields_author_id_users_id_fk": { + "name": "custom_minefields_author_id_users_id_fk", + "tableFrom": "custom_minefields", + "tableTo": "users", + "columnsFrom": [ + "author_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.custom_minefield_scores": { + "name": "custom_minefield_scores", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "minefield_id": { + "name": "minefield_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "seconds": { + "name": "seconds", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "flags": { + "name": "flags", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "won": { + "name": "won", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "custom_minefield_scores_minefield_idx": { + "name": "custom_minefield_scores_minefield_idx", + "columns": [ + { + "expression": "minefield_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_minefield_scores_user_idx": { + "name": "custom_minefield_scores_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_minefield_scores_updated_at_idx": { + "name": "custom_minefield_scores_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_minefield_scores_created_at_idx": { + "name": "custom_minefield_scores_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "custom_minefield_scores_minefield_id_custom_minefields_id_fk": { + "name": "custom_minefield_scores_minefield_id_custom_minefields_id_fk", + "tableFrom": "custom_minefield_scores", + "tableTo": "custom_minefields", + "columnsFrom": [ + "minefield_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "custom_minefield_scores_user_id_users_id_fk": { + "name": "custom_minefield_scores_user_id_users_id_fk", + "tableFrom": "custom_minefield_scores", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.custom_radio_tests": { + "name": "custom_radio_tests", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "author_id": { + "name": "author_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "messages": { + "name": "messages", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "message_count": { + "name": "message_count", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "order": { + "name": "order", + "type": "enum_custom_radio_tests_order", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'fixed'" + }, + "published": { + "name": "published", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "play_count": { + "name": "play_count", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "custom_radio_tests_author_idx": { + "name": "custom_radio_tests_author_idx", + "columns": [ + { + "expression": "author_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_radio_tests_updated_at_idx": { + "name": "custom_radio_tests_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_radio_tests_created_at_idx": { + "name": "custom_radio_tests_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "custom_radio_tests_author_id_users_id_fk": { + "name": "custom_radio_tests_author_id_users_id_fk", + "tableFrom": "custom_radio_tests", + "tableTo": "users", + "columnsFrom": [ + "author_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.custom_radio_test_scores": { + "name": "custom_radio_test_scores", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "test_id": { + "name": "test_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "score": { + "name": "score", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "accuracy": { + "name": "accuracy", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "correct_messages": { + "name": "correct_messages", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "incorrect_messages": { + "name": "incorrect_messages", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "mode": { + "name": "mode", + "type": "enum_custom_radio_test_scores_mode", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "time_ms": { + "name": "time_ms", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "custom_radio_test_scores_test_idx": { + "name": "custom_radio_test_scores_test_idx", + "columns": [ + { + "expression": "test_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_radio_test_scores_user_idx": { + "name": "custom_radio_test_scores_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_radio_test_scores_updated_at_idx": { + "name": "custom_radio_test_scores_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_radio_test_scores_created_at_idx": { + "name": "custom_radio_test_scores_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "custom_radio_test_scores_test_id_custom_radio_tests_id_fk": { + "name": "custom_radio_test_scores_test_id_custom_radio_tests_id_fk", + "tableFrom": "custom_radio_test_scores", + "tableTo": "custom_radio_tests", + "columnsFrom": [ + "test_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "custom_radio_test_scores_user_id_users_id_fk": { + "name": "custom_radio_test_scores_user_id_users_id_fk", + "tableFrom": "custom_radio_test_scores", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.plugin_ai_instructions_images": { + "name": "plugin_ai_instructions_images", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "plugin_ai_instructions_images_order_idx": { + "name": "plugin_ai_instructions_images_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "plugin_ai_instructions_images_parent_id_idx": { + "name": "plugin_ai_instructions_images_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "plugin_ai_instructions_images_image_idx": { + "name": "plugin_ai_instructions_images_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "plugin_ai_instructions_images_image_id_media_id_fk": { + "name": "plugin_ai_instructions_images_image_id_media_id_fk", + "tableFrom": "plugin_ai_instructions_images", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "plugin_ai_instructions_images_parent_id_fk": { + "name": "plugin_ai_instructions_images_parent_id_fk", + "tableFrom": "plugin_ai_instructions_images", + "tableTo": "plugin_ai_instructions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.plugin_ai_instructions": { + "name": "plugin_ai_instructions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "schema_path": { + "name": "schema_path", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "field_type": { + "name": "field_type", + "type": "enum_plugin_ai_instructions_field_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'text'" + }, + "relation_to": { + "name": "relation_to", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "model_id": { + "name": "model_id", + "type": "enum_plugin_ai_instructions_model_id", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "disabled": { + "name": "disabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "prompt": { + "name": "prompt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "system": { + "name": "system", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'INSTRUCTIONS:\nYou are a highly skilled and professional blog writer,\nrenowned for crafting engaging and well-organized articles.\nWhen given a title, you meticulously create blogs that are not only\ninformative and accurate but also captivating and beautifully structured.'" + }, + "layout": { + "name": "layout", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'[paragraph] - Write a concise introduction (2-3 sentences) that outlines the main topic.\n[horizontalrule] - Insert a horizontal rule to separate the introduction from the main content.\n[list] - Create a list with 3-5 items. Each list item should contain:\n a. [heading] - A brief, descriptive heading (up to 5 words)\n b. [paragraph] - A short explanation or elaboration (1-2 sentences)\n[horizontalrule] - Insert another horizontal rule to separate the main content from the conclusion.\n[paragraph] - Compose a brief conclusion (2-3 sentences) summarizing the key points.\n[quote] - Include a relevant quote from a famous person, directly related to the topic. Format: \"Quote text.\" - Author Name'" + }, + "unsloth_text_settings_model": { + "name": "unsloth_text_settings_model", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'unsloth/gemma-4-E4B-it-qat-GGUF'" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "plugin_ai_instructions_schema_path_idx": { + "name": "plugin_ai_instructions_schema_path_idx", + "columns": [ + { + "expression": "schema_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "plugin_ai_instructions_updated_at_idx": { + "name": "plugin_ai_instructions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "plugin_ai_instructions_created_at_idx": { + "name": "plugin_ai_instructions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_mcp_api_keys": { + "name": "payload_mcp_api_keys", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "media_find": { + "name": "media_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "media_create": { + "name": "media_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "media_update": { + "name": "media_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "media_delete": { + "name": "media_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_hard_resources_find": { + "name": "game_hard_resources_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_hard_resources_create": { + "name": "game_hard_resources_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_hard_resources_update": { + "name": "game_hard_resources_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_hard_resources_delete": { + "name": "game_hard_resources_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_structures_find": { + "name": "game_structures_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_structures_create": { + "name": "game_structures_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_structures_update": { + "name": "game_structures_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_structures_delete": { + "name": "game_structures_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_vehicles_find": { + "name": "game_vehicles_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_vehicles_create": { + "name": "game_vehicles_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_vehicles_update": { + "name": "game_vehicles_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_vehicles_delete": { + "name": "game_vehicles_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_npcs_find": { + "name": "game_npcs_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_npcs_create": { + "name": "game_npcs_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_npcs_update": { + "name": "game_npcs_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_npcs_delete": { + "name": "game_npcs_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "npc_staffing_find": { + "name": "npc_staffing_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "npc_staffing_create": { + "name": "npc_staffing_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "npc_staffing_update": { + "name": "npc_staffing_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "npc_staffing_delete": { + "name": "npc_staffing_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "labor_classifications_find": { + "name": "labor_classifications_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "labor_classifications_create": { + "name": "labor_classifications_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "labor_classifications_update": { + "name": "labor_classifications_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "labor_classifications_delete": { + "name": "labor_classifications_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_event_logs_find": { + "name": "game_event_logs_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_event_logs_create": { + "name": "game_event_logs_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_event_logs_update": { + "name": "game_event_logs_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_event_logs_delete": { + "name": "game_event_logs_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "users_find": { + "name": "users_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "users_create": { + "name": "users_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "users_update": { + "name": "users_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "users_delete": { + "name": "users_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "roles_find": { + "name": "roles_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "roles_create": { + "name": "roles_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "roles_update": { + "name": "roles_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "roles_delete": { + "name": "roles_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ranks_find": { + "name": "ranks_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ranks_create": { + "name": "ranks_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ranks_update": { + "name": "ranks_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ranks_delete": { + "name": "ranks_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "profiles_find": { + "name": "profiles_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "profiles_create": { + "name": "profiles_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "profiles_update": { + "name": "profiles_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "profiles_delete": { + "name": "profiles_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "awards_find": { + "name": "awards_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "awards_create": { + "name": "awards_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "awards_update": { + "name": "awards_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "awards_delete": { + "name": "awards_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "qualifications_find": { + "name": "qualifications_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "qualifications_create": { + "name": "qualifications_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "qualifications_update": { + "name": "qualifications_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "qualifications_delete": { + "name": "qualifications_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assignments_find": { + "name": "assignments_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assignments_create": { + "name": "assignments_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assignments_update": { + "name": "assignments_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assignments_delete": { + "name": "assignments_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assignment_transfers_find": { + "name": "assignment_transfers_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assignment_transfers_create": { + "name": "assignment_transfers_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assignment_transfers_update": { + "name": "assignment_transfers_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assignment_transfers_delete": { + "name": "assignment_transfers_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "experience_find": { + "name": "experience_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "experience_create": { + "name": "experience_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "experience_update": { + "name": "experience_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "experience_delete": { + "name": "experience_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "user_notifications_find": { + "name": "user_notifications_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "user_notifications_create": { + "name": "user_notifications_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "user_notifications_update": { + "name": "user_notifications_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "user_notifications_delete": { + "name": "user_notifications_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "evaluations_find": { + "name": "evaluations_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "evaluations_create": { + "name": "evaluations_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "evaluations_update": { + "name": "evaluations_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "evaluations_delete": { + "name": "evaluations_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ribbon_submissions_find": { + "name": "ribbon_submissions_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ribbon_submissions_create": { + "name": "ribbon_submissions_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ribbon_submissions_update": { + "name": "ribbon_submissions_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ribbon_submissions_delete": { + "name": "ribbon_submissions_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "missions_find": { + "name": "missions_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "missions_create": { + "name": "missions_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "missions_update": { + "name": "missions_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "missions_delete": { + "name": "missions_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mission_attendances_find": { + "name": "mission_attendances_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mission_attendances_create": { + "name": "mission_attendances_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mission_attendances_update": { + "name": "mission_attendances_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mission_attendances_delete": { + "name": "mission_attendances_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "campaigns_find": { + "name": "campaigns_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "campaigns_create": { + "name": "campaigns_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "campaigns_update": { + "name": "campaigns_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "campaigns_delete": { + "name": "campaigns_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "factions_find": { + "name": "factions_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "factions_create": { + "name": "factions_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "factions_update": { + "name": "factions_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "factions_delete": { + "name": "factions_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "technologies_find": { + "name": "technologies_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "technologies_create": { + "name": "technologies_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "technologies_update": { + "name": "technologies_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "technologies_delete": { + "name": "technologies_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assets_find": { + "name": "assets_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assets_create": { + "name": "assets_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assets_update": { + "name": "assets_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assets_delete": { + "name": "assets_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "resources_find": { + "name": "resources_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "resources_create": { + "name": "resources_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "resources_update": { + "name": "resources_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "resources_delete": { + "name": "resources_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "vehicles_find": { + "name": "vehicles_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "vehicles_create": { + "name": "vehicles_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "vehicles_update": { + "name": "vehicles_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "vehicles_delete": { + "name": "vehicles_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "structures_find": { + "name": "structures_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "structures_create": { + "name": "structures_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "structures_update": { + "name": "structures_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "structures_delete": { + "name": "structures_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "shipments_find": { + "name": "shipments_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "shipments_create": { + "name": "shipments_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "shipments_update": { + "name": "shipments_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "shipments_delete": { + "name": "shipments_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "bank_accounts_find": { + "name": "bank_accounts_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "bank_accounts_create": { + "name": "bank_accounts_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "bank_accounts_update": { + "name": "bank_accounts_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "bank_accounts_delete": { + "name": "bank_accounts_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "bank_transactions_find": { + "name": "bank_transactions_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "bank_transactions_create": { + "name": "bank_transactions_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "bank_transactions_update": { + "name": "bank_transactions_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "bank_transactions_delete": { + "name": "bank_transactions_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ledger_entries_find": { + "name": "ledger_entries_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ledger_entries_create": { + "name": "ledger_entries_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ledger_entries_update": { + "name": "ledger_entries_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ledger_entries_delete": { + "name": "ledger_entries_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "locker_storages_find": { + "name": "locker_storages_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "locker_storages_create": { + "name": "locker_storages_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "locker_storages_update": { + "name": "locker_storages_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "locker_storages_delete": { + "name": "locker_storages_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "loadouts_find": { + "name": "loadouts_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "loadouts_create": { + "name": "loadouts_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "loadouts_update": { + "name": "loadouts_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "loadouts_delete": { + "name": "loadouts_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_listings_find": { + "name": "market_listings_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_listings_create": { + "name": "market_listings_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_listings_update": { + "name": "market_listings_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_listings_delete": { + "name": "market_listings_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_negotiations_find": { + "name": "market_negotiations_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_negotiations_create": { + "name": "market_negotiations_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_negotiations_update": { + "name": "market_negotiations_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_negotiations_delete": { + "name": "market_negotiations_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_state_find": { + "name": "market_state_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_state_create": { + "name": "market_state_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_state_update": { + "name": "market_state_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_state_delete": { + "name": "market_state_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "voice_scripts_find": { + "name": "voice_scripts_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "voice_scripts_create": { + "name": "voice_scripts_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "voice_scripts_update": { + "name": "voice_scripts_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "voice_scripts_delete": { + "name": "voice_scripts_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "voice_submissions_find": { + "name": "voice_submissions_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "voice_submissions_create": { + "name": "voice_submissions_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "voice_submissions_update": { + "name": "voice_submissions_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "voice_submissions_delete": { + "name": "voice_submissions_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "tickets_find": { + "name": "tickets_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "tickets_create": { + "name": "tickets_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "tickets_update": { + "name": "tickets_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "tickets_delete": { + "name": "tickets_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ticket_votes_find": { + "name": "ticket_votes_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ticket_votes_create": { + "name": "ticket_votes_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ticket_votes_update": { + "name": "ticket_votes_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ticket_votes_delete": { + "name": "ticket_votes_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_pages_find": { + "name": "wiki_pages_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_pages_create": { + "name": "wiki_pages_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_pages_update": { + "name": "wiki_pages_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_pages_delete": { + "name": "wiki_pages_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_revisions_find": { + "name": "wiki_revisions_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_revisions_create": { + "name": "wiki_revisions_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_revisions_update": { + "name": "wiki_revisions_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_revisions_delete": { + "name": "wiki_revisions_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_templates_find": { + "name": "wiki_templates_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_templates_create": { + "name": "wiki_templates_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_templates_update": { + "name": "wiki_templates_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_templates_delete": { + "name": "wiki_templates_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "projects_find": { + "name": "projects_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "projects_create": { + "name": "projects_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "projects_update": { + "name": "projects_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "projects_delete": { + "name": "projects_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "sprints_find": { + "name": "sprints_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "sprints_create": { + "name": "sprints_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "sprints_update": { + "name": "sprints_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "sprints_delete": { + "name": "sprints_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "releases_find": { + "name": "releases_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "releases_create": { + "name": "releases_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "releases_update": { + "name": "releases_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "releases_delete": { + "name": "releases_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "labels_find": { + "name": "labels_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "labels_create": { + "name": "labels_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "labels_update": { + "name": "labels_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "labels_delete": { + "name": "labels_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "maps_find": { + "name": "maps_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "maps_create": { + "name": "maps_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "maps_update": { + "name": "maps_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "maps_delete": { + "name": "maps_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "map_roads_find": { + "name": "map_roads_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "map_roads_create": { + "name": "map_roads_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "map_roads_update": { + "name": "map_roads_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "map_roads_delete": { + "name": "map_roads_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "map_zones_find": { + "name": "map_zones_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "map_zones_create": { + "name": "map_zones_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "map_zones_update": { + "name": "map_zones_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "map_zones_delete": { + "name": "map_zones_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "resource_nodes_find": { + "name": "resource_nodes_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "resource_nodes_create": { + "name": "resource_nodes_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "resource_nodes_update": { + "name": "resource_nodes_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "resource_nodes_delete": { + "name": "resource_nodes_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "narrative_events_find": { + "name": "narrative_events_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "narrative_events_create": { + "name": "narrative_events_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "narrative_events_update": { + "name": "narrative_events_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "narrative_events_delete": { + "name": "narrative_events_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "story_beats_find": { + "name": "story_beats_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "story_beats_create": { + "name": "story_beats_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "story_beats_update": { + "name": "story_beats_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "story_beats_delete": { + "name": "story_beats_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "story_beat_states_find": { + "name": "story_beat_states_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "story_beat_states_create": { + "name": "story_beat_states_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "story_beat_states_update": { + "name": "story_beat_states_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "story_beat_states_delete": { + "name": "story_beat_states_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mission_files_find": { + "name": "mission_files_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mission_files_create": { + "name": "mission_files_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mission_files_update": { + "name": "mission_files_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mission_files_delete": { + "name": "mission_files_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mod_lists_find": { + "name": "mod_lists_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mod_lists_create": { + "name": "mod_lists_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mod_lists_update": { + "name": "mod_lists_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mod_lists_delete": { + "name": "mod_lists_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_servers_find": { + "name": "game_servers_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_servers_create": { + "name": "game_servers_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_servers_update": { + "name": "game_servers_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_servers_delete": { + "name": "game_servers_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "arma_sync_events_find": { + "name": "arma_sync_events_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "arma_sync_events_create": { + "name": "arma_sync_events_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "arma_sync_events_update": { + "name": "arma_sync_events_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "arma_sync_events_delete": { + "name": "arma_sync_events_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "arma_commands_find": { + "name": "arma_commands_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "arma_commands_create": { + "name": "arma_commands_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "arma_commands_update": { + "name": "arma_commands_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "arma_commands_delete": { + "name": "arma_commands_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "respawn_tickets_find": { + "name": "respawn_tickets_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "respawn_tickets_create": { + "name": "respawn_tickets_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "respawn_tickets_update": { + "name": "respawn_tickets_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "respawn_tickets_delete": { + "name": "respawn_tickets_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_events_find": { + "name": "operation_events_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_events_create": { + "name": "operation_events_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_events_update": { + "name": "operation_events_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_events_delete": { + "name": "operation_events_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_effects_find": { + "name": "operation_effects_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_effects_create": { + "name": "operation_effects_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_effects_update": { + "name": "operation_effects_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_effects_delete": { + "name": "operation_effects_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_reservations_find": { + "name": "operation_reservations_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_reservations_create": { + "name": "operation_reservations_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_reservations_update": { + "name": "operation_reservations_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_reservations_delete": { + "name": "operation_reservations_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_readiness_find": { + "name": "operation_readiness_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_readiness_create": { + "name": "operation_readiness_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_readiness_update": { + "name": "operation_readiness_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_readiness_delete": { + "name": "operation_readiness_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_minefields_find": { + "name": "custom_minefields_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_minefields_create": { + "name": "custom_minefields_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_minefields_update": { + "name": "custom_minefields_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_minefields_delete": { + "name": "custom_minefields_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_minefield_scores_find": { + "name": "custom_minefield_scores_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_minefield_scores_create": { + "name": "custom_minefield_scores_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_minefield_scores_update": { + "name": "custom_minefield_scores_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_minefield_scores_delete": { + "name": "custom_minefield_scores_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_radio_tests_find": { + "name": "custom_radio_tests_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_radio_tests_create": { + "name": "custom_radio_tests_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_radio_tests_update": { + "name": "custom_radio_tests_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_radio_tests_delete": { + "name": "custom_radio_tests_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_radio_test_scores_find": { + "name": "custom_radio_test_scores_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_radio_test_scores_create": { + "name": "custom_radio_test_scores_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_radio_test_scores_update": { + "name": "custom_radio_test_scores_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_radio_test_scores_delete": { + "name": "custom_radio_test_scores_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "enable_a_p_i_key": { + "name": "enable_a_p_i_key", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "api_key": { + "name": "api_key", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "api_key_index": { + "name": "api_key_index", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "payload_mcp_api_keys_user_idx": { + "name": "payload_mcp_api_keys_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_mcp_api_keys_updated_at_idx": { + "name": "payload_mcp_api_keys_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_mcp_api_keys_created_at_idx": { + "name": "payload_mcp_api_keys_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "payload_mcp_api_keys_user_id_users_id_fk": { + "name": "payload_mcp_api_keys_user_id_users_id_fk", + "tableFrom": "payload_mcp_api_keys", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_kv": { + "name": "payload_kv", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "data": { + "name": "data", + "type": "jsonb", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "payload_kv_key_idx": { + "name": "payload_kv_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_locked_documents": { + "name": "payload_locked_documents", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "global_slug": { + "name": "global_slug", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_locked_documents_global_slug_idx": { + "name": "payload_locked_documents_global_slug_idx", + "columns": [ + { + "expression": "global_slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_updated_at_idx": { + "name": "payload_locked_documents_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_created_at_idx": { + "name": "payload_locked_documents_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_locked_documents_rels": { + "name": "payload_locked_documents_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "media_id": { + "name": "media_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_hard_resources_id": { + "name": "game_hard_resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_structures_id": { + "name": "game_structures_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_vehicles_id": { + "name": "game_vehicles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_npcs_id": { + "name": "game_npcs_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "npc_staffing_id": { + "name": "npc_staffing_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "labor_classifications_id": { + "name": "labor_classifications_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_event_logs_id": { + "name": "game_event_logs_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "roles_id": { + "name": "roles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "ranks_id": { + "name": "ranks_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "profiles_id": { + "name": "profiles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "awards_id": { + "name": "awards_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "qualifications_id": { + "name": "qualifications_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assignments_id": { + "name": "assignments_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assignment_transfers_id": { + "name": "assignment_transfers_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "experience_id": { + "name": "experience_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "user_notifications_id": { + "name": "user_notifications_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "evaluations_id": { + "name": "evaluations_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "ribbon_submissions_id": { + "name": "ribbon_submissions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "missions_id": { + "name": "missions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "mission_attendances_id": { + "name": "mission_attendances_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "campaigns_id": { + "name": "campaigns_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "factions_id": { + "name": "factions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "technologies_id": { + "name": "technologies_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "vehicles_id": { + "name": "vehicles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "structures_id": { + "name": "structures_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "shipments_id": { + "name": "shipments_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "bank_accounts_id": { + "name": "bank_accounts_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "bank_transactions_id": { + "name": "bank_transactions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "ledger_entries_id": { + "name": "ledger_entries_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "locker_storages_id": { + "name": "locker_storages_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "loadouts_id": { + "name": "loadouts_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "market_listings_id": { + "name": "market_listings_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "market_negotiations_id": { + "name": "market_negotiations_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "market_state_id": { + "name": "market_state_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "voice_scripts_id": { + "name": "voice_scripts_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "voice_submissions_id": { + "name": "voice_submissions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "tickets_id": { + "name": "tickets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "ticket_votes_id": { + "name": "ticket_votes_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "wiki_pages_id": { + "name": "wiki_pages_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "wiki_revisions_id": { + "name": "wiki_revisions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "wiki_templates_id": { + "name": "wiki_templates_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "projects_id": { + "name": "projects_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "sprints_id": { + "name": "sprints_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "releases_id": { + "name": "releases_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "labels_id": { + "name": "labels_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "maps_id": { + "name": "maps_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "map_roads_id": { + "name": "map_roads_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "map_zones_id": { + "name": "map_zones_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resource_nodes_id": { + "name": "resource_nodes_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "narrative_events_id": { + "name": "narrative_events_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "story_beats_id": { + "name": "story_beats_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "story_beat_states_id": { + "name": "story_beat_states_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "mission_files_id": { + "name": "mission_files_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "mod_lists_id": { + "name": "mod_lists_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_servers_id": { + "name": "game_servers_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "arma_sync_events_id": { + "name": "arma_sync_events_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "arma_commands_id": { + "name": "arma_commands_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "respawn_tickets_id": { + "name": "respawn_tickets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "operation_events_id": { + "name": "operation_events_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "operation_effects_id": { + "name": "operation_effects_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "operation_reservations_id": { + "name": "operation_reservations_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "operation_readiness_id": { + "name": "operation_readiness_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "custom_minefields_id": { + "name": "custom_minefields_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "custom_minefield_scores_id": { + "name": "custom_minefield_scores_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "custom_radio_tests_id": { + "name": "custom_radio_tests_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "custom_radio_test_scores_id": { + "name": "custom_radio_test_scores_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "plugin_ai_instructions_id": { + "name": "plugin_ai_instructions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "payload_mcp_api_keys_id": { + "name": "payload_mcp_api_keys_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "payload_locked_documents_rels_order_idx": { + "name": "payload_locked_documents_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_parent_idx": { + "name": "payload_locked_documents_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_path_idx": { + "name": "payload_locked_documents_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_media_id_idx": { + "name": "payload_locked_documents_rels_media_id_idx", + "columns": [ + { + "expression": "media_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_hard_resources_id_idx": { + "name": "payload_locked_documents_rels_game_hard_resources_id_idx", + "columns": [ + { + "expression": "game_hard_resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_structures_id_idx": { + "name": "payload_locked_documents_rels_game_structures_id_idx", + "columns": [ + { + "expression": "game_structures_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_vehicles_id_idx": { + "name": "payload_locked_documents_rels_game_vehicles_id_idx", + "columns": [ + { + "expression": "game_vehicles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_npcs_id_idx": { + "name": "payload_locked_documents_rels_game_npcs_id_idx", + "columns": [ + { + "expression": "game_npcs_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_npc_staffing_id_idx": { + "name": "payload_locked_documents_rels_npc_staffing_id_idx", + "columns": [ + { + "expression": "npc_staffing_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_labor_classifications_id_idx": { + "name": "payload_locked_documents_rels_labor_classifications_id_idx", + "columns": [ + { + "expression": "labor_classifications_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_event_logs_id_idx": { + "name": "payload_locked_documents_rels_game_event_logs_id_idx", + "columns": [ + { + "expression": "game_event_logs_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_users_id_idx": { + "name": "payload_locked_documents_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_roles_id_idx": { + "name": "payload_locked_documents_rels_roles_id_idx", + "columns": [ + { + "expression": "roles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_ranks_id_idx": { + "name": "payload_locked_documents_rels_ranks_id_idx", + "columns": [ + { + "expression": "ranks_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_profiles_id_idx": { + "name": "payload_locked_documents_rels_profiles_id_idx", + "columns": [ + { + "expression": "profiles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_awards_id_idx": { + "name": "payload_locked_documents_rels_awards_id_idx", + "columns": [ + { + "expression": "awards_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_qualifications_id_idx": { + "name": "payload_locked_documents_rels_qualifications_id_idx", + "columns": [ + { + "expression": "qualifications_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_assignments_id_idx": { + "name": "payload_locked_documents_rels_assignments_id_idx", + "columns": [ + { + "expression": "assignments_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_assignment_transfers_id_idx": { + "name": "payload_locked_documents_rels_assignment_transfers_id_idx", + "columns": [ + { + "expression": "assignment_transfers_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_experience_id_idx": { + "name": "payload_locked_documents_rels_experience_id_idx", + "columns": [ + { + "expression": "experience_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_user_notifications_id_idx": { + "name": "payload_locked_documents_rels_user_notifications_id_idx", + "columns": [ + { + "expression": "user_notifications_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_evaluations_id_idx": { + "name": "payload_locked_documents_rels_evaluations_id_idx", + "columns": [ + { + "expression": "evaluations_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_ribbon_submissions_id_idx": { + "name": "payload_locked_documents_rels_ribbon_submissions_id_idx", + "columns": [ + { + "expression": "ribbon_submissions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_missions_id_idx": { + "name": "payload_locked_documents_rels_missions_id_idx", + "columns": [ + { + "expression": "missions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_mission_attendances_id_idx": { + "name": "payload_locked_documents_rels_mission_attendances_id_idx", + "columns": [ + { + "expression": "mission_attendances_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_campaigns_id_idx": { + "name": "payload_locked_documents_rels_campaigns_id_idx", + "columns": [ + { + "expression": "campaigns_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_factions_id_idx": { + "name": "payload_locked_documents_rels_factions_id_idx", + "columns": [ + { + "expression": "factions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_technologies_id_idx": { + "name": "payload_locked_documents_rels_technologies_id_idx", + "columns": [ + { + "expression": "technologies_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_assets_id_idx": { + "name": "payload_locked_documents_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_resources_id_idx": { + "name": "payload_locked_documents_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_vehicles_id_idx": { + "name": "payload_locked_documents_rels_vehicles_id_idx", + "columns": [ + { + "expression": "vehicles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_structures_id_idx": { + "name": "payload_locked_documents_rels_structures_id_idx", + "columns": [ + { + "expression": "structures_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_shipments_id_idx": { + "name": "payload_locked_documents_rels_shipments_id_idx", + "columns": [ + { + "expression": "shipments_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_bank_accounts_id_idx": { + "name": "payload_locked_documents_rels_bank_accounts_id_idx", + "columns": [ + { + "expression": "bank_accounts_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_bank_transactions_id_idx": { + "name": "payload_locked_documents_rels_bank_transactions_id_idx", + "columns": [ + { + "expression": "bank_transactions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_ledger_entries_id_idx": { + "name": "payload_locked_documents_rels_ledger_entries_id_idx", + "columns": [ + { + "expression": "ledger_entries_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_locker_storages_id_idx": { + "name": "payload_locked_documents_rels_locker_storages_id_idx", + "columns": [ + { + "expression": "locker_storages_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_loadouts_id_idx": { + "name": "payload_locked_documents_rels_loadouts_id_idx", + "columns": [ + { + "expression": "loadouts_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_market_listings_id_idx": { + "name": "payload_locked_documents_rels_market_listings_id_idx", + "columns": [ + { + "expression": "market_listings_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_market_negotiations_id_idx": { + "name": "payload_locked_documents_rels_market_negotiations_id_idx", + "columns": [ + { + "expression": "market_negotiations_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_market_state_id_idx": { + "name": "payload_locked_documents_rels_market_state_id_idx", + "columns": [ + { + "expression": "market_state_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_voice_scripts_id_idx": { + "name": "payload_locked_documents_rels_voice_scripts_id_idx", + "columns": [ + { + "expression": "voice_scripts_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_voice_submissions_id_idx": { + "name": "payload_locked_documents_rels_voice_submissions_id_idx", + "columns": [ + { + "expression": "voice_submissions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_tickets_id_idx": { + "name": "payload_locked_documents_rels_tickets_id_idx", + "columns": [ + { + "expression": "tickets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_ticket_votes_id_idx": { + "name": "payload_locked_documents_rels_ticket_votes_id_idx", + "columns": [ + { + "expression": "ticket_votes_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_wiki_pages_id_idx": { + "name": "payload_locked_documents_rels_wiki_pages_id_idx", + "columns": [ + { + "expression": "wiki_pages_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_wiki_revisions_id_idx": { + "name": "payload_locked_documents_rels_wiki_revisions_id_idx", + "columns": [ + { + "expression": "wiki_revisions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_wiki_templates_id_idx": { + "name": "payload_locked_documents_rels_wiki_templates_id_idx", + "columns": [ + { + "expression": "wiki_templates_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_projects_id_idx": { + "name": "payload_locked_documents_rels_projects_id_idx", + "columns": [ + { + "expression": "projects_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_sprints_id_idx": { + "name": "payload_locked_documents_rels_sprints_id_idx", + "columns": [ + { + "expression": "sprints_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_releases_id_idx": { + "name": "payload_locked_documents_rels_releases_id_idx", + "columns": [ + { + "expression": "releases_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_labels_id_idx": { + "name": "payload_locked_documents_rels_labels_id_idx", + "columns": [ + { + "expression": "labels_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_maps_id_idx": { + "name": "payload_locked_documents_rels_maps_id_idx", + "columns": [ + { + "expression": "maps_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_map_roads_id_idx": { + "name": "payload_locked_documents_rels_map_roads_id_idx", + "columns": [ + { + "expression": "map_roads_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_map_zones_id_idx": { + "name": "payload_locked_documents_rels_map_zones_id_idx", + "columns": [ + { + "expression": "map_zones_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_resource_nodes_id_idx": { + "name": "payload_locked_documents_rels_resource_nodes_id_idx", + "columns": [ + { + "expression": "resource_nodes_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_narrative_events_id_idx": { + "name": "payload_locked_documents_rels_narrative_events_id_idx", + "columns": [ + { + "expression": "narrative_events_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_story_beats_id_idx": { + "name": "payload_locked_documents_rels_story_beats_id_idx", + "columns": [ + { + "expression": "story_beats_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_story_beat_states_id_idx": { + "name": "payload_locked_documents_rels_story_beat_states_id_idx", + "columns": [ + { + "expression": "story_beat_states_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_mission_files_id_idx": { + "name": "payload_locked_documents_rels_mission_files_id_idx", + "columns": [ + { + "expression": "mission_files_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_mod_lists_id_idx": { + "name": "payload_locked_documents_rels_mod_lists_id_idx", + "columns": [ + { + "expression": "mod_lists_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_servers_id_idx": { + "name": "payload_locked_documents_rels_game_servers_id_idx", + "columns": [ + { + "expression": "game_servers_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_arma_sync_events_id_idx": { + "name": "payload_locked_documents_rels_arma_sync_events_id_idx", + "columns": [ + { + "expression": "arma_sync_events_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_arma_commands_id_idx": { + "name": "payload_locked_documents_rels_arma_commands_id_idx", + "columns": [ + { + "expression": "arma_commands_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_respawn_tickets_id_idx": { + "name": "payload_locked_documents_rels_respawn_tickets_id_idx", + "columns": [ + { + "expression": "respawn_tickets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_operation_events_id_idx": { + "name": "payload_locked_documents_rels_operation_events_id_idx", + "columns": [ + { + "expression": "operation_events_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_operation_effects_id_idx": { + "name": "payload_locked_documents_rels_operation_effects_id_idx", + "columns": [ + { + "expression": "operation_effects_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_operation_reservations_id_idx": { + "name": "payload_locked_documents_rels_operation_reservations_id_idx", + "columns": [ + { + "expression": "operation_reservations_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_operation_readiness_id_idx": { + "name": "payload_locked_documents_rels_operation_readiness_id_idx", + "columns": [ + { + "expression": "operation_readiness_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_custom_minefields_id_idx": { + "name": "payload_locked_documents_rels_custom_minefields_id_idx", + "columns": [ + { + "expression": "custom_minefields_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_custom_minefield_scores_id_idx": { + "name": "payload_locked_documents_rels_custom_minefield_scores_id_idx", + "columns": [ + { + "expression": "custom_minefield_scores_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_custom_radio_tests_id_idx": { + "name": "payload_locked_documents_rels_custom_radio_tests_id_idx", + "columns": [ + { + "expression": "custom_radio_tests_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_custom_radio_test_scores_i_idx": { + "name": "payload_locked_documents_rels_custom_radio_test_scores_i_idx", + "columns": [ + { + "expression": "custom_radio_test_scores_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_plugin_ai_instructions_id_idx": { + "name": "payload_locked_documents_rels_plugin_ai_instructions_id_idx", + "columns": [ + { + "expression": "plugin_ai_instructions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_payload_mcp_api_keys_id_idx": { + "name": "payload_locked_documents_rels_payload_mcp_api_keys_id_idx", + "columns": [ + { + "expression": "payload_mcp_api_keys_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "payload_locked_documents_rels_parent_fk": { + "name": "payload_locked_documents_rels_parent_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "payload_locked_documents", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_media_fk": { + "name": "payload_locked_documents_rels_media_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "media", + "columnsFrom": [ + "media_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_hard_resources_fk": { + "name": "payload_locked_documents_rels_game_hard_resources_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_hard_resources", + "columnsFrom": [ + "game_hard_resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_structures_fk": { + "name": "payload_locked_documents_rels_game_structures_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_structures", + "columnsFrom": [ + "game_structures_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_vehicles_fk": { + "name": "payload_locked_documents_rels_game_vehicles_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_vehicles", + "columnsFrom": [ + "game_vehicles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_npcs_fk": { + "name": "payload_locked_documents_rels_game_npcs_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_npcs", + "columnsFrom": [ + "game_npcs_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_npc_staffing_fk": { + "name": "payload_locked_documents_rels_npc_staffing_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "npc_staffing", + "columnsFrom": [ + "npc_staffing_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_labor_classifications_fk": { + "name": "payload_locked_documents_rels_labor_classifications_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "labor_classifications", + "columnsFrom": [ + "labor_classifications_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_event_logs_fk": { + "name": "payload_locked_documents_rels_game_event_logs_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_event_logs", + "columnsFrom": [ + "game_event_logs_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_users_fk": { + "name": "payload_locked_documents_rels_users_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "users", + "columnsFrom": [ + "users_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_roles_fk": { + "name": "payload_locked_documents_rels_roles_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "roles", + "columnsFrom": [ + "roles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_ranks_fk": { + "name": "payload_locked_documents_rels_ranks_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "ranks", + "columnsFrom": [ + "ranks_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_profiles_fk": { + "name": "payload_locked_documents_rels_profiles_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "profiles", + "columnsFrom": [ + "profiles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_awards_fk": { + "name": "payload_locked_documents_rels_awards_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "awards", + "columnsFrom": [ + "awards_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_qualifications_fk": { + "name": "payload_locked_documents_rels_qualifications_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "qualifications", + "columnsFrom": [ + "qualifications_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_assignments_fk": { + "name": "payload_locked_documents_rels_assignments_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "assignments", + "columnsFrom": [ + "assignments_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_assignment_transfers_fk": { + "name": "payload_locked_documents_rels_assignment_transfers_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "assignment_transfers", + "columnsFrom": [ + "assignment_transfers_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_experience_fk": { + "name": "payload_locked_documents_rels_experience_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "experience", + "columnsFrom": [ + "experience_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_user_notifications_fk": { + "name": "payload_locked_documents_rels_user_notifications_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "user_notifications", + "columnsFrom": [ + "user_notifications_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_evaluations_fk": { + "name": "payload_locked_documents_rels_evaluations_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "evaluations", + "columnsFrom": [ + "evaluations_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_ribbon_submissions_fk": { + "name": "payload_locked_documents_rels_ribbon_submissions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "ribbon_submissions", + "columnsFrom": [ + "ribbon_submissions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_missions_fk": { + "name": "payload_locked_documents_rels_missions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "missions", + "columnsFrom": [ + "missions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_mission_attendances_fk": { + "name": "payload_locked_documents_rels_mission_attendances_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "mission_attendances", + "columnsFrom": [ + "mission_attendances_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_campaigns_fk": { + "name": "payload_locked_documents_rels_campaigns_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "campaigns", + "columnsFrom": [ + "campaigns_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_factions_fk": { + "name": "payload_locked_documents_rels_factions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "factions", + "columnsFrom": [ + "factions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_technologies_fk": { + "name": "payload_locked_documents_rels_technologies_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "technologies", + "columnsFrom": [ + "technologies_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_assets_fk": { + "name": "payload_locked_documents_rels_assets_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_resources_fk": { + "name": "payload_locked_documents_rels_resources_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_vehicles_fk": { + "name": "payload_locked_documents_rels_vehicles_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "vehicles", + "columnsFrom": [ + "vehicles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_structures_fk": { + "name": "payload_locked_documents_rels_structures_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "structures", + "columnsFrom": [ + "structures_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_shipments_fk": { + "name": "payload_locked_documents_rels_shipments_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "shipments", + "columnsFrom": [ + "shipments_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_bank_accounts_fk": { + "name": "payload_locked_documents_rels_bank_accounts_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "bank_accounts", + "columnsFrom": [ + "bank_accounts_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_bank_transactions_fk": { + "name": "payload_locked_documents_rels_bank_transactions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "bank_transactions", + "columnsFrom": [ + "bank_transactions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_ledger_entries_fk": { + "name": "payload_locked_documents_rels_ledger_entries_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "ledger_entries", + "columnsFrom": [ + "ledger_entries_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_locker_storages_fk": { + "name": "payload_locked_documents_rels_locker_storages_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "locker_storages", + "columnsFrom": [ + "locker_storages_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_loadouts_fk": { + "name": "payload_locked_documents_rels_loadouts_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "loadouts", + "columnsFrom": [ + "loadouts_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_market_listings_fk": { + "name": "payload_locked_documents_rels_market_listings_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "market_listings", + "columnsFrom": [ + "market_listings_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_market_negotiations_fk": { + "name": "payload_locked_documents_rels_market_negotiations_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "market_negotiations", + "columnsFrom": [ + "market_negotiations_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_market_state_fk": { + "name": "payload_locked_documents_rels_market_state_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "market_state", + "columnsFrom": [ + "market_state_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_voice_scripts_fk": { + "name": "payload_locked_documents_rels_voice_scripts_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "voice_scripts", + "columnsFrom": [ + "voice_scripts_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_voice_submissions_fk": { + "name": "payload_locked_documents_rels_voice_submissions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "voice_submissions", + "columnsFrom": [ + "voice_submissions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_tickets_fk": { + "name": "payload_locked_documents_rels_tickets_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "tickets", + "columnsFrom": [ + "tickets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_ticket_votes_fk": { + "name": "payload_locked_documents_rels_ticket_votes_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "ticket_votes", + "columnsFrom": [ + "ticket_votes_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_wiki_pages_fk": { + "name": "payload_locked_documents_rels_wiki_pages_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "wiki_pages", + "columnsFrom": [ + "wiki_pages_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_wiki_revisions_fk": { + "name": "payload_locked_documents_rels_wiki_revisions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "wiki_revisions", + "columnsFrom": [ + "wiki_revisions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_wiki_templates_fk": { + "name": "payload_locked_documents_rels_wiki_templates_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "wiki_templates", + "columnsFrom": [ + "wiki_templates_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_projects_fk": { + "name": "payload_locked_documents_rels_projects_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "projects", + "columnsFrom": [ + "projects_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_sprints_fk": { + "name": "payload_locked_documents_rels_sprints_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "sprints", + "columnsFrom": [ + "sprints_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_releases_fk": { + "name": "payload_locked_documents_rels_releases_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "releases", + "columnsFrom": [ + "releases_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_labels_fk": { + "name": "payload_locked_documents_rels_labels_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "labels", + "columnsFrom": [ + "labels_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_maps_fk": { + "name": "payload_locked_documents_rels_maps_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "maps", + "columnsFrom": [ + "maps_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_map_roads_fk": { + "name": "payload_locked_documents_rels_map_roads_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "map_roads", + "columnsFrom": [ + "map_roads_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_map_zones_fk": { + "name": "payload_locked_documents_rels_map_zones_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "map_zones", + "columnsFrom": [ + "map_zones_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_resource_nodes_fk": { + "name": "payload_locked_documents_rels_resource_nodes_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "resource_nodes", + "columnsFrom": [ + "resource_nodes_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_narrative_events_fk": { + "name": "payload_locked_documents_rels_narrative_events_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "narrative_events", + "columnsFrom": [ + "narrative_events_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_story_beats_fk": { + "name": "payload_locked_documents_rels_story_beats_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "story_beats", + "columnsFrom": [ + "story_beats_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_story_beat_states_fk": { + "name": "payload_locked_documents_rels_story_beat_states_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "story_beat_states", + "columnsFrom": [ + "story_beat_states_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_mission_files_fk": { + "name": "payload_locked_documents_rels_mission_files_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "mission_files", + "columnsFrom": [ + "mission_files_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_mod_lists_fk": { + "name": "payload_locked_documents_rels_mod_lists_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "mod_lists", + "columnsFrom": [ + "mod_lists_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_servers_fk": { + "name": "payload_locked_documents_rels_game_servers_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_servers", + "columnsFrom": [ + "game_servers_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_arma_sync_events_fk": { + "name": "payload_locked_documents_rels_arma_sync_events_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "arma_sync_events", + "columnsFrom": [ + "arma_sync_events_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_arma_commands_fk": { + "name": "payload_locked_documents_rels_arma_commands_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "arma_commands", + "columnsFrom": [ + "arma_commands_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_respawn_tickets_fk": { + "name": "payload_locked_documents_rels_respawn_tickets_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "respawn_tickets", + "columnsFrom": [ + "respawn_tickets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_operation_events_fk": { + "name": "payload_locked_documents_rels_operation_events_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "operation_events", + "columnsFrom": [ + "operation_events_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_operation_effects_fk": { + "name": "payload_locked_documents_rels_operation_effects_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "operation_effects", + "columnsFrom": [ + "operation_effects_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_operation_reservations_fk": { + "name": "payload_locked_documents_rels_operation_reservations_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "operation_reservations", + "columnsFrom": [ + "operation_reservations_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_operation_readiness_fk": { + "name": "payload_locked_documents_rels_operation_readiness_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "operation_readiness", + "columnsFrom": [ + "operation_readiness_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_custom_minefields_fk": { + "name": "payload_locked_documents_rels_custom_minefields_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "custom_minefields", + "columnsFrom": [ + "custom_minefields_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_custom_minefield_scores_fk": { + "name": "payload_locked_documents_rels_custom_minefield_scores_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "custom_minefield_scores", + "columnsFrom": [ + "custom_minefield_scores_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_custom_radio_tests_fk": { + "name": "payload_locked_documents_rels_custom_radio_tests_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "custom_radio_tests", + "columnsFrom": [ + "custom_radio_tests_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_custom_radio_test_scores_fk": { + "name": "payload_locked_documents_rels_custom_radio_test_scores_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "custom_radio_test_scores", + "columnsFrom": [ + "custom_radio_test_scores_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_plugin_ai_instructions_fk": { + "name": "payload_locked_documents_rels_plugin_ai_instructions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "plugin_ai_instructions", + "columnsFrom": [ + "plugin_ai_instructions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_payload_mcp_api_keys_fk": { + "name": "payload_locked_documents_rels_payload_mcp_api_keys_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "payload_mcp_api_keys", + "columnsFrom": [ + "payload_mcp_api_keys_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_preferences": { + "name": "payload_preferences", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "value": { + "name": "value", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_preferences_key_idx": { + "name": "payload_preferences_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_updated_at_idx": { + "name": "payload_preferences_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_created_at_idx": { + "name": "payload_preferences_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_preferences_rels": { + "name": "payload_preferences_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "payload_mcp_api_keys_id": { + "name": "payload_mcp_api_keys_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "payload_preferences_rels_order_idx": { + "name": "payload_preferences_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_parent_idx": { + "name": "payload_preferences_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_path_idx": { + "name": "payload_preferences_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_users_id_idx": { + "name": "payload_preferences_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_payload_mcp_api_keys_id_idx": { + "name": "payload_preferences_rels_payload_mcp_api_keys_id_idx", + "columns": [ + { + "expression": "payload_mcp_api_keys_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "payload_preferences_rels_parent_fk": { + "name": "payload_preferences_rels_parent_fk", + "tableFrom": "payload_preferences_rels", + "tableTo": "payload_preferences", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_preferences_rels_users_fk": { + "name": "payload_preferences_rels_users_fk", + "tableFrom": "payload_preferences_rels", + "tableTo": "users", + "columnsFrom": [ + "users_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_preferences_rels_payload_mcp_api_keys_fk": { + "name": "payload_preferences_rels_payload_mcp_api_keys_fk", + "tableFrom": "payload_preferences_rels", + "tableTo": "payload_mcp_api_keys", + "columnsFrom": [ + "payload_mcp_api_keys_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_migrations": { + "name": "payload_migrations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "batch": { + "name": "batch", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_migrations_updated_at_idx": { + "name": "payload_migrations_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_migrations_created_at_idx": { + "name": "payload_migrations_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_rules": { + "name": "game_rules", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "main_currency_id": { + "name": "main_currency_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "currency_name": { + "name": "currency_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "currency_symbol": { + "name": "currency_symbol", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "currency_singular": { + "name": "currency_singular", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "currency_plural": { + "name": "currency_plural", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "currency_denomination": { + "name": "currency_denomination", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "proximity_threshold": { + "name": "proximity_threshold", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1000 + }, + "game_tick_interval_minutes": { + "name": "game_tick_interval_minutes", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 10 + }, + "locker_grid_width": { + "name": "locker_grid_width", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 10 + }, + "locker_grid_height": { + "name": "locker_grid_height", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 6 + }, + "staff_hiring_enabled": { + "name": "staff_hiring_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "staff_hiring_disabled_message": { + "name": "staff_hiring_disabled_message", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "economy_enabled": { + "name": "economy_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "economy_default_price_band": { + "name": "economy_default_price_band", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0.5 + }, + "economy_real_demand_window_ticks": { + "name": "economy_real_demand_window_ticks", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 24 + }, + "economy_real_demand_decay": { + "name": "economy_real_demand_decay", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0.5 + }, + "economy_artificial_demand_drift": { + "name": "economy_artificial_demand_drift", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0.05 + }, + "economy_cold_start_observations": { + "name": "economy_cold_start_observations", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 5 + }, + "economy_tick_interval_hint_minutes": { + "name": "economy_tick_interval_hint_minutes", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 60 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "game_rules_main_currency_idx": { + "name": "game_rules_main_currency_idx", + "columns": [ + { + "expression": "main_currency_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_rules_main_currency_id_resources_id_fk": { + "name": "game_rules_main_currency_id_resources_id_fk", + "tableFrom": "game_rules", + "tableTo": "resources", + "columnsFrom": [ + "main_currency_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_rules_rels": { + "name": "game_rules_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "assignments_id": { + "name": "assignments_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "game_rules_rels_order_idx": { + "name": "game_rules_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_rules_rels_parent_idx": { + "name": "game_rules_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_rules_rels_path_idx": { + "name": "game_rules_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_rules_rels_assignments_id_idx": { + "name": "game_rules_rels_assignments_id_idx", + "columns": [ + { + "expression": "assignments_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_rules_rels_parent_fk": { + "name": "game_rules_rels_parent_fk", + "tableFrom": "game_rules_rels", + "tableTo": "game_rules", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "game_rules_rels_assignments_fk": { + "name": "game_rules_rels_assignments_fk", + "tableFrom": "game_rules_rels", + "tableTo": "assignments", + "columnsFrom": [ + "assignments_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shims_shims_targeting_roles": { + "name": "shims_shims_targeting_roles", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_shims_shims_targeting_roles", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "shims_shims_targeting_roles_order_idx": { + "name": "shims_shims_targeting_roles_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shims_shims_targeting_roles_parent_idx": { + "name": "shims_shims_targeting_roles_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shims_shims_targeting_roles_parent_fk": { + "name": "shims_shims_targeting_roles_parent_fk", + "tableFrom": "shims_shims_targeting_roles", + "tableTo": "shims_shims", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shims_shims": { + "name": "shims_shims", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "type": { + "name": "type", + "type": "enum_shims_shims_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'css'" + }, + "content": { + "name": "content", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "targeting_audience": { + "name": "targeting_audience", + "type": "enum_shims_shims_targeting_audience", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'all'" + }, + "targeting_percentage": { + "name": "targeting_percentage", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 50 + }, + "paths_match_type": { + "name": "paths_match_type", + "type": "enum_shims_shims_paths_match_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'all'" + } + }, + "indexes": { + "shims_shims_order_idx": { + "name": "shims_shims_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shims_shims_parent_id_idx": { + "name": "shims_shims_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shims_shims_name_idx": { + "name": "shims_shims_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shims_shims_parent_id_fk": { + "name": "shims_shims_parent_id_fk", + "tableFrom": "shims_shims", + "tableTo": "shims", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shims": { + "name": "shims", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shims_texts": { + "name": "shims_texts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "text": { + "name": "text", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "shims_texts_order_parent": { + "name": "shims_texts_order_parent", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shims_texts_parent_fk": { + "name": "shims_texts_parent_fk", + "tableFrom": "shims_texts", + "tableTo": "shims", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shims_rels": { + "name": "shims_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "shims_rels_order_idx": { + "name": "shims_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shims_rels_parent_idx": { + "name": "shims_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shims_rels_path_idx": { + "name": "shims_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shims_rels_users_id_idx": { + "name": "shims_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shims_rels_parent_fk": { + "name": "shims_rels_parent_fk", + "tableFrom": "shims_rels", + "tableTo": "shims", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "shims_rels_users_fk": { + "name": "shims_rels_users_fk", + "tableFrom": "shims_rels", + "tableTo": "users", + "columnsFrom": [ + "users_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": { + "public.enum_game_structures_staff_positions_position_type": { + "name": "enum_game_structures_staff_positions_position_type", + "schema": "public", + "values": [ + "administrative", + "technical", + "other" + ] + }, + "public.enum_game_structures_construction_status": { + "name": "enum_game_structures_construction_status", + "schema": "public", + "values": [ + "awaiting_materials", + "building", + "complete" + ] + }, + "public.enum_game_vehicles_status": { + "name": "enum_game_vehicles_status", + "schema": "public", + "values": [ + "idle", + "assigned", + "in_transit", + "damaged", + "destroyed" + ] + }, + "public.enum_npc_staffing_position_type": { + "name": "enum_npc_staffing_position_type", + "schema": "public", + "values": [ + "labor", + "administrative", + "technical", + "other" + ] + }, + "public.enum_npc_staffing_status": { + "name": "enum_npc_staffing_status", + "schema": "public", + "values": [ + "active", + "terminated" + ] + }, + "public.enum_game_event_logs_target_collection": { + "name": "enum_game_event_logs_target_collection", + "schema": "public", + "values": [ + "game-structures", + "game-vehicles", + "game-npcs", + "npc-staffing", + "structures", + "resources", + "assets", + "vehicles", + "factions", + "missions", + "campaigns", + "users", + "technologies", + "maps", + "shipments", + "bank-accounts", + "bank-transactions", + "ledger-entries", + "locker-storages", + "loadouts", + "market-listings", + "market-negotiations", + "market-state", + "evaluations", + "tickets", + "wiki-pages", + "wiki-revisions", + "wiki-templates", + "game-servers", + "assignment-transfers", + "voice-scripts", + "voice-submissions", + "story-beats", + "story-beat-states", + "custom-minefields", + "custom-minefield-scores", + "custom-radio-tests", + "custom-radio-test-scores", + "ribbon-submissions" + ] + }, + "public.enum_users_roles": { + "name": "enum_users_roles", + "schema": "public", + "values": [ + "guest", + "user", + "trusted", + "admin", + "developer" + ] + }, + "public.enum_users_preferences_notifications_muted_types": { + "name": "enum_users_preferences_notifications_muted_types", + "schema": "public", + "values": [ + "market:offer", + "market:counter", + "market:accept", + "market:reject", + "market:withdrawn", + "market:closed", + "market:sold", + "market:expired", + "award:granted", + "account:discord-request", + "finance:deposit", + "finance:withdraw", + "finance:transfer", + "shipment:completed", + "ticket:created", + "ticket:assigned", + "ticket:reply", + "ticket:status", + "poker:force-ended", + "poker:everyone-left", + "blackjack:force-ended", + "blackjack:everyone-left" + ] + }, + "public.enum_users_preferences_discord_muted_types": { + "name": "enum_users_preferences_discord_muted_types", + "schema": "public", + "values": [ + "market:offer", + "market:counter", + "market:accept", + "market:reject", + "market:withdrawn", + "market:closed", + "market:sold", + "market:expired", + "award:granted", + "account:discord-request", + "finance:deposit", + "finance:withdraw", + "finance:transfer", + "shipment:completed", + "ticket:created", + "ticket:assigned", + "ticket:reply", + "ticket:status", + "poker:force-ended", + "poker:everyone-left", + "blackjack:force-ended", + "blackjack:everyone-left" + ] + }, + "public.enum_users_preferences_display_lead_or_actual": { + "name": "enum_users_preferences_display_lead_or_actual", + "schema": "public", + "values": [ + "lead", + "actual" + ] + }, + "public.enum_roles_permissions": { + "name": "enum_roles_permissions", + "schema": "public", + "values": [ + "system:admin-access", + "media:create", + "media:read", + "media:update", + "media:delete", + "admin:media:manage", + "users:create", + "users:read", + "users:update", + "users:delete", + "users:unlock", + "users:assign-roles", + "admin:users:manage", + "roles:create", + "roles:read", + "roles:update", + "roles:delete", + "admin:roles:manage", + "ranks:create", + "ranks:read", + "ranks:update", + "ranks:delete", + "admin:ranks:manage", + "profiles:create", + "profiles:read", + "profiles:update", + "profiles:delete", + "admin:profiles:manage", + "awards:create", + "awards:read", + "awards:update", + "awards:delete", + "admin:awards:manage", + "qualifications:create", + "qualifications:read", + "qualifications:update", + "qualifications:delete", + "admin:qualifications:manage", + "assignments:create", + "assignments:read", + "assignments:update", + "assignments:delete", + "admin:assignments:manage", + "assignment-transfers:create", + "assignment-transfers:read", + "assignment-transfers:update", + "assignment-transfers:delete", + "admin:assignment-transfers:manage", + "experience:create", + "experience:read", + "experience:update", + "experience:delete", + "admin:experience:manage", + "user-notifications:create", + "user-notifications:read", + "user-notifications:update", + "user-notifications:delete", + "admin:user-notifications:manage", + "evaluations:create", + "evaluations:read", + "evaluations:update", + "evaluations:delete", + "admin:evaluations:manage", + "missions:create", + "missions:read", + "missions:update", + "missions:delete", + "missions:read-sensitive", + "admin:missions:manage", + "mission-attendances:create", + "mission-attendances:read", + "mission-attendances:update", + "mission-attendances:delete", + "admin:mission-attendances:manage", + "campaigns:create", + "campaigns:read", + "campaigns:update", + "campaigns:delete", + "admin:campaigns:manage", + "campaigns:manage", + "factions:create", + "factions:read", + "factions:update", + "factions:delete", + "admin:factions:manage", + "technologies:create", + "technologies:read", + "technologies:update", + "technologies:delete", + "admin:technologies:manage", + "assets:create", + "assets:read", + "assets:update", + "assets:delete", + "admin:assets:manage", + "resources:create", + "resources:read", + "resources:update", + "resources:delete", + "admin:resources:manage", + "vehicles:create", + "vehicles:read", + "vehicles:update", + "vehicles:delete", + "admin:vehicles:manage", + "structures:create", + "structures:read", + "structures:update", + "structures:delete", + "admin:structures:manage", + "shipments:create", + "shipments:read", + "shipments:update", + "shipments:delete", + "admin:shipments:manage", + "bank-accounts:create", + "bank-accounts:read", + "bank-accounts:update", + "bank-accounts:delete", + "admin:bank-accounts:manage", + "bank-transactions:create", + "bank-transactions:read", + "bank-transactions:update", + "bank-transactions:delete", + "admin:bank-transactions:manage", + "ledger-entries:create", + "ledger-entries:read", + "ledger-entries:update", + "ledger-entries:delete", + "admin:ledger-entries:manage", + "locker-storages:create", + "locker-storages:read", + "locker-storages:update", + "locker-storages:delete", + "admin:locker-storages:manage", + "loadouts:create", + "loadouts:read", + "loadouts:update", + "loadouts:delete", + "admin:loadouts:manage", + "market-listings:create", + "market-listings:read", + "market-listings:update", + "market-listings:delete", + "admin:market-listings:manage", + "market-negotiations:create", + "market-negotiations:read", + "market-negotiations:update", + "market-negotiations:delete", + "admin:market-negotiations:manage", + "market-state:create", + "market-state:read", + "market-state:update", + "market-state:delete", + "admin:market-state:manage", + "projects:create", + "projects:read", + "projects:update", + "projects:delete", + "admin:projects:manage", + "labels:create", + "labels:read", + "labels:update", + "labels:delete", + "admin:labels:manage", + "sprints:create", + "sprints:read", + "sprints:update", + "sprints:delete", + "admin:sprints:manage", + "releases:create", + "releases:read", + "releases:update", + "releases:delete", + "admin:releases:manage", + "tickets:create", + "tickets:read", + "tickets:update", + "tickets:delete", + "admin:tickets:manage", + "ticket-votes:create", + "ticket-votes:read", + "ticket-votes:update", + "ticket-votes:delete", + "admin:ticket-votes:manage", + "game-structures:create", + "game-structures:read", + "game-structures:update", + "game-structures:delete", + "admin:game-structures:manage", + "game-vehicles:create", + "game-vehicles:read", + "game-vehicles:update", + "game-vehicles:delete", + "admin:game-vehicles:manage", + "game-npcs:create", + "game-npcs:read", + "game-npcs:update", + "game-npcs:delete", + "admin:game-npcs:manage", + "game-hard-resources:create", + "game-hard-resources:read", + "game-hard-resources:update", + "game-hard-resources:delete", + "admin:game-hard-resources:manage", + "game-event-logs:create", + "game-event-logs:read", + "game-event-logs:update", + "game-event-logs:delete", + "admin:game-event-logs:manage", + "maps:create", + "maps:read", + "maps:update", + "maps:delete", + "admin:maps:manage", + "map-roads:read", + "admin:map-roads:manage", + "map-zones:read", + "admin:map-zones:manage", + "resource-nodes:read", + "admin:resource-nodes:manage", + "narrative-events:create", + "narrative-events:read", + "narrative-events:update", + "narrative-events:delete", + "admin:narrative-events:manage", + "mission-files:create", + "mission-files:read", + "mission-files:update", + "mission-files:delete", + "admin:mission-files:manage", + "mod-lists:create", + "mod-lists:read", + "mod-lists:update", + "mod-lists:delete", + "admin:mod-lists:manage", + "game-servers:create", + "game-servers:read", + "game-servers:update", + "game-servers:delete", + "admin:game-servers:manage", + "arma-sync-events:create", + "arma-sync-events:read", + "arma-sync-events:update", + "arma-sync-events:delete", + "admin:arma-sync-events:manage", + "arma-commands:create", + "arma-commands:read", + "arma-commands:update", + "arma-commands:delete", + "admin:arma-commands:manage", + "operation-events:create", + "operation-events:read", + "operation-events:update", + "operation-events:delete", + "admin:operation-events:manage", + "operation-effects:create", + "operation-effects:read", + "operation-effects:update", + "operation-effects:delete", + "admin:operation-effects:manage", + "operation-reservations:create", + "operation-reservations:read", + "operation-reservations:update", + "operation-reservations:delete", + "admin:operation-reservations:manage", + "operation-readiness:create", + "operation-readiness:read", + "operation-readiness:update", + "operation-readiness:delete", + "admin:operation-readiness:manage", + "game-rules:read", + "game-rules:update", + "shims:read", + "shims:update", + "logistics:manage", + "intelligence:manage", + "profiles:intel_excerpt:update", + "banking:manage", + "tickets:staff", + "discord:staff", + "discord:announce", + "custom-minefields:update", + "custom-minefields:delete", + "custom-minefield-scores:delete", + "custom-radio-tests:update", + "custom-radio-tests:delete", + "custom-radio-test-scores:delete" + ] + }, + "public.enum_awards_grant_config_allowed_grantor_assignment_types": { + "name": "enum_awards_grant_config_allowed_grantor_assignment_types", + "schema": "public", + "values": [ + "division", + "squad", + "team", + "special" + ] + }, + "public.enum_awards_type": { + "name": "enum_awards_type", + "schema": "public", + "values": [ + "commendation", + "ribbon", + "medal" + ] + }, + "public.enum_awards_grant_config_recipient_scope": { + "name": "enum_awards_grant_config_recipient_scope", + "schema": "public", + "values": [ + "same_command", + "whitelist", + "anyone" + ] + }, + "public.enum_assignments_type": { + "name": "enum_assignments_type", + "schema": "public", + "values": [ + "division", + "squad", + "team", + "special" + ] + }, + "public.enum_assignment_transfers_status": { + "name": "enum_assignment_transfers_status", + "schema": "public", + "values": [ + "pending", + "rejected", + "awaiting_superuser", + "completed", + "cancelled", + "denied" + ] + }, + "public.enum_assignment_transfers_escalation_reason": { + "name": "enum_assignment_transfers_escalation_reason", + "schema": "public", + "values": [ + "no_leaders", + "appeal", + "leader_changed" + ] + }, + "public.enum_assignment_transfers_from_leader_decision": { + "name": "enum_assignment_transfers_from_leader_decision", + "schema": "public", + "values": [ + "pending", + "approved", + "rejected", + "not_required" + ] + }, + "public.enum_assignment_transfers_to_leader_decision": { + "name": "enum_assignment_transfers_to_leader_decision", + "schema": "public", + "values": [ + "pending", + "approved", + "rejected", + "not_required" + ] + }, + "public.enum_evaluations_kind": { + "name": "enum_evaluations_kind", + "schema": "public", + "values": [ + "leader-direct", + "leader-indirect", + "subordinate" + ] + }, + "public.enum_evaluations_level": { + "name": "enum_evaluations_level", + "schema": "public", + "values": [ + "exceptional", + "excellent", + "proficient", + "adequate", + "moderate", + "under-review" + ] + }, + "public.enum_ribbon_submissions_grantor_types": { + "name": "enum_ribbon_submissions_grantor_types", + "schema": "public", + "values": [ + "division", + "squad", + "team", + "special" + ] + }, + "public.enum_ribbon_submissions_status": { + "name": "enum_ribbon_submissions_status", + "schema": "public", + "values": [ + "pending", + "approved", + "rejected" + ] + }, + "public.enum_ribbon_submissions_recipient_scope": { + "name": "enum_ribbon_submissions_recipient_scope", + "schema": "public", + "values": [ + "same_command", + "whitelist", + "anyone" + ] + }, + "public.enum_missions_factions_involved_threat_level": { + "name": "enum_missions_factions_involved_threat_level", + "schema": "public", + "values": [ + "ally", + "friendly", + "neutral", + "hostile" + ] + }, + "public.enum_missions_logistics_and_support_insertion": { + "name": "enum_missions_logistics_and_support_insertion", + "schema": "public", + "values": [ + "helicopter", + "aircraft", + "paradrop", + "boat", + "car", + "onFoot" + ] + }, + "public.enum_missions_logistics_and_support_extraction": { + "name": "enum_missions_logistics_and_support_extraction", + "schema": "public", + "values": [ + "helicopter", + "aircraft", + "paradrop", + "boat", + "car", + "onFoot" + ] + }, + "public.enum_missions_operation_type": { + "name": "enum_missions_operation_type", + "schema": "public", + "values": [ + "main", + "side", + "external" + ] + }, + "public.enum_missions_classification_mission_type": { + "name": "enum_missions_classification_mission_type", + "schema": "public", + "values": [ + "Zeus", + "PvE", + "PvP", + "PvPvE", + "Training", + "Special" + ] + }, + "public.enum_missions_ownership_and_status_status": { + "name": "enum_missions_ownership_and_status_status", + "schema": "public", + "values": [ + "Concept", + "Planning", + "Ready", + "Scheduled", + "Active", + "Completed", + "Cancelled" + ] + }, + "public.enum_missions_ownership_and_status_visibility": { + "name": "enum_missions_ownership_and_status_visibility", + "schema": "public", + "values": [ + "unit", + "leadership", + "intel", + "private" + ] + }, + "public.enum_missions_civilian_presence": { + "name": "enum_missions_civilian_presence", + "schema": "public", + "values": [ + "None", + "Low", + "Medium", + "High" + ] + }, + "public.enum_mission_attendances_response": { + "name": "enum_mission_attendances_response", + "schema": "public", + "values": [ + "yes", + "no", + "tentative" + ] + }, + "public.enum_campaigns_status": { + "name": "enum_campaigns_status", + "schema": "public", + "values": [ + "concept", + "inProgress", + "completed" + ] + }, + "public.enum_campaigns_campaign_mode": { + "name": "enum_campaigns_campaign_mode", + "schema": "public", + "values": [ + "official", + "custom" + ] + }, + "public.enum_factions_type": { + "name": "enum_factions_type", + "schema": "public", + "values": [ + "playerFaction", + "majorFaction", + "minorFaction", + "corporation", + "special" + ] + }, + "public.enum_technologies_approval_status": { + "name": "enum_technologies_approval_status", + "schema": "public", + "values": [ + "in_progress", + "ready_for_review", + "approved", + "rejected", + "revision_requested" + ] + }, + "public.enum_technologies_type": { + "name": "enum_technologies_type", + "schema": "public", + "values": [ + "asset", + "upgrade" + ] + }, + "public.enum_assets_skin_configuration_applies_to_asset_types": { + "name": "enum_assets_skin_configuration_applies_to_asset_types", + "schema": "public", + "values": [ + "weapon", + "uniform", + "vest", + "backpack", + "helmet" + ] + }, + "public.enum_assets_approval_status": { + "name": "enum_assets_approval_status", + "schema": "public", + "values": [ + "in_progress", + "ready_for_review", + "approved", + "rejected", + "revision_requested" + ] + }, + "public.enum_assets_asset_type": { + "name": "enum_assets_asset_type", + "schema": "public", + "values": [ + "weapon", + "magazine", + "optic", + "muzzle", + "bipod", + "uniform", + "vest", + "backpack", + "helmet", + "facewear", + "nvg", + "radio", + "medical", + "tool", + "explosive", + "skin", + "miscellaneous" + ] + }, + "public.enum_assets_weapon_configuration_slot_type": { + "name": "enum_assets_weapon_configuration_slot_type", + "schema": "public", + "values": [ + "primary", + "secondary", + "launcher" + ] + }, + "public.enum_assets_nightvision_configuration_nvg_generation": { + "name": "enum_assets_nightvision_configuration_nvg_generation", + "schema": "public", + "values": [ + "gen1", + "gen2", + "gen3" + ] + }, + "public.enum_assets_market_trading_rarity": { + "name": "enum_assets_market_trading_rarity", + "schema": "public", + "values": [ + "basic", + "common", + "uncommon", + "rare", + "veryRare", + "epic", + "legendary", + "unique" + ] + }, + "public.enum_resources_approval_status": { + "name": "enum_resources_approval_status", + "schema": "public", + "values": [ + "in_progress", + "ready_for_review", + "approved", + "rejected", + "revision_requested" + ] + }, + "public.enum_resources_type": { + "name": "enum_resources_type", + "schema": "public", + "values": [ + "physical", + "fluid", + "energy", + "abstract" + ] + }, + "public.enum_resources_rarity": { + "name": "enum_resources_rarity", + "schema": "public", + "values": [ + "common", + "uncommon", + "rare", + "epic", + "legendary", + "exotic", + "unique" + ] + }, + "public.enum_vehicles_category": { + "name": "enum_vehicles_category", + "schema": "public", + "values": [ + "civilian", + "utility", + "transport", + "weaponized", + "military" + ] + }, + "public.enum_vehicles_pylons_pylon_type": { + "name": "enum_vehicles_pylons_pylon_type", + "schema": "public", + "values": [ + "mountedWeapon", + "pylon" + ] + }, + "public.enum_vehicles_approval_status": { + "name": "enum_vehicles_approval_status", + "schema": "public", + "values": [ + "in_progress", + "ready_for_review", + "approved", + "rejected", + "revision_requested" + ] + }, + "public.enum_vehicles_transport_mode": { + "name": "enum_vehicles_transport_mode", + "schema": "public", + "values": [ + "ground", + "air", + "sea" + ] + }, + "public.enum_vehicles_armor_rating": { + "name": "enum_vehicles_armor_rating", + "schema": "public", + "values": [ + "none", + "light", + "medium", + "heavy", + "composite" + ] + }, + "public.enum_structures_staff_positions_position_type": { + "name": "enum_structures_staff_positions_position_type", + "schema": "public", + "values": [ + "administrative", + "technical", + "other" + ] + }, + "public.enum_structures_module_options_effects_type": { + "name": "enum_structures_module_options_effects_type", + "schema": "public", + "values": [ + "capacity_mass", + "production_multiplier", + "storage_slots" + ] + }, + "public.enum_structures_module_options_category": { + "name": "enum_structures_module_options_category", + "schema": "public", + "values": [ + "production", + "logistics", + "defense", + "utility" + ] + }, + "public.enum_structures_approval_status": { + "name": "enum_structures_approval_status", + "schema": "public", + "values": [ + "in_progress", + "ready_for_review", + "approved", + "rejected", + "revision_requested" + ] + }, + "public.enum_structures_category": { + "name": "enum_structures_category", + "schema": "public", + "values": [ + "logistics", + "military", + "civilian" + ] + }, + "public.enum_structures_terrain_type": { + "name": "enum_structures_terrain_type", + "schema": "public", + "values": [ + "land", + "water" + ] + }, + "public.enum_structures_aura_effect_type": { + "name": "enum_structures_aura_effect_type", + "schema": "public", + "values": [ + "production_multiplier", + "capacity_mass" + ] + }, + "public.enum_structures_function_type": { + "name": "enum_structures_function_type", + "schema": "public", + "values": [ + "producer", + "storage", + "sensor", + "converter", + "defense", + "miscellaneous" + ] + }, + "public.enum_shipments_status": { + "name": "enum_shipments_status", + "schema": "public", + "values": [ + "pending", + "dispatched", + "in_transit", + "arrived", + "completed", + "cancelled", + "failed", + "stranded" + ] + }, + "public.enum_bank_accounts_account_type": { + "name": "enum_bank_accounts_account_type", + "schema": "public", + "values": [ + "treasury", + "faction", + "personal" + ] + }, + "public.enum_bank_accounts_status": { + "name": "enum_bank_accounts_status", + "schema": "public", + "values": [ + "open", + "frozen", + "closed" + ] + }, + "public.enum_bank_transactions_type": { + "name": "enum_bank_transactions_type", + "schema": "public", + "values": [ + "deposit", + "withdrawal", + "transfer", + "payment", + "fee", + "salary", + "adjustment" + ] + }, + "public.enum_bank_transactions_status": { + "name": "enum_bank_transactions_status", + "schema": "public", + "values": [ + "completed", + "reversed" + ] + }, + "public.enum_ledger_entries_type": { + "name": "enum_ledger_entries_type", + "schema": "public", + "values": [ + "deposit", + "withdrawal", + "transfer", + "payment", + "fee", + "salary", + "adjustment" + ] + }, + "public.enum_market_listings_status": { + "name": "enum_market_listings_status", + "schema": "public", + "values": [ + "active", + "sold", + "cancelled", + "expired" + ] + }, + "public.enum_market_negotiations_history_from": { + "name": "enum_market_negotiations_history_from", + "schema": "public", + "values": [ + "buyer", + "seller" + ] + }, + "public.enum_market_negotiations_status": { + "name": "enum_market_negotiations_status", + "schema": "public", + "values": [ + "open", + "accepted", + "rejected", + "closed", + "cancelled", + "expired" + ] + }, + "public.enum_market_negotiations_proposed_by": { + "name": "enum_market_negotiations_proposed_by", + "schema": "public", + "values": [ + "buyer", + "seller" + ] + }, + "public.enum_market_state_item_type": { + "name": "enum_market_state_item_type", + "schema": "public", + "values": [ + "resource", + "asset" + ] + }, + "public.enum_voice_scripts_status": { + "name": "enum_voice_scripts_status", + "schema": "public", + "values": [ + "draft", + "open", + "closed" + ] + }, + "public.enum_voice_submissions_status": { + "name": "enum_voice_submissions_status", + "schema": "public", + "values": [ + "pending", + "accepted", + "rejected" + ] + }, + "public.enum_tickets_activity_type": { + "name": "enum_tickets_activity_type", + "schema": "public", + "values": [ + "system", + "agent_message", + "client_message" + ] + }, + "public.enum_tickets_category": { + "name": "enum_tickets_category", + "schema": "public", + "values": [ + "bug_report", + "feature_request", + "support_request", + "other" + ] + }, + "public.enum_tickets_priority": { + "name": "enum_tickets_priority", + "schema": "public", + "values": [ + "low", + "medium", + "high", + "critical" + ] + }, + "public.enum_tickets_status": { + "name": "enum_tickets_status", + "schema": "public", + "values": [ + "open", + "in_review", + "planning", + "in_progress", + "waiting_on_reporter", + "in_testing", + "resolved", + "canceled", + "closed" + ] + }, + "public.enum_tickets_type": { + "name": "enum_tickets_type", + "schema": "public", + "values": [ + "task", + "bug", + "story", + "epic", + "improvement" + ] + }, + "public.enum_tickets_resolution": { + "name": "enum_tickets_resolution", + "schema": "public", + "values": [ + "fixed", + "wontfix", + "duplicate", + "invalid" + ] + }, + "public.enum_wiki_pages_category": { + "name": "enum_wiki_pages_category", + "schema": "public", + "values": [ + "Campaign", + "World", + "Lore", + "Characters", + "Plot", + "Media", + "Guides", + "Meta" + ] + }, + "public.enum_wiki_revisions_type": { + "name": "enum_wiki_revisions_type", + "schema": "public", + "values": [ + "create", + "edit", + "restore" + ] + }, + "public.enum_projects_status": { + "name": "enum_projects_status", + "schema": "public", + "values": [ + "active", + "archived" + ] + }, + "public.enum_sprints_status": { + "name": "enum_sprints_status", + "schema": "public", + "values": [ + "planning", + "active", + "completed" + ] + }, + "public.enum_releases_status": { + "name": "enum_releases_status", + "schema": "public", + "values": [ + "draft", + "in_progress", + "released" + ] + }, + "public.enum_maps_basemap_mode": { + "name": "enum_maps_basemap_mode", + "schema": "public", + "values": [ + "image", + "tiles" + ] + }, + "public.enum_map_roads_surface": { + "name": "enum_map_roads_surface", + "schema": "public", + "values": [ + "paved", + "dirt", + "trail" + ] + }, + "public.enum_map_roads_stroke_style": { + "name": "enum_map_roads_stroke_style", + "schema": "public", + "values": [ + "solid", + "dashed", + "dotted" + ] + }, + "public.enum_map_zones_type": { + "name": "enum_map_zones_type", + "schema": "public", + "values": [ + "water", + "land", + "territory", + "border", + "other" + ] + }, + "public.enum_narrative_events_triggers_type": { + "name": "enum_narrative_events_triggers_type", + "schema": "public", + "values": [ + "manual", + "mission_complete", + "timer", + "condition" + ] + }, + "public.enum_story_beats_status": { + "name": "enum_story_beats_status", + "schema": "public", + "values": [ + "draft", + "published" + ] + }, + "public.enum_story_beat_states_reaction": { + "name": "enum_story_beat_states_reaction", + "schema": "public", + "values": [ + "like", + "heart", + "salute" + ] + }, + "public.enum_game_servers_status": { + "name": "enum_game_servers_status", + "schema": "public", + "values": [ + "online", + "offline" + ] + }, + "public.enum_arma_commands_status": { + "name": "enum_arma_commands_status", + "schema": "public", + "values": [ + "queued", + "delivered", + "succeeded", + "failed" + ] + }, + "public.enum_operation_events_status": { + "name": "enum_operation_events_status", + "schema": "public", + "values": [ + "validated", + "rejected", + "dead-letter" + ] + }, + "public.enum_operation_effects_effect_type": { + "name": "enum_operation_effects_effect_type", + "schema": "public", + "values": [ + "operation.started", + "operation.ended", + "operation.objective-updated", + "operation.extraction-recorded", + "operation.inventory-recorded" + ] + }, + "public.enum_operation_effects_status": { + "name": "enum_operation_effects_status", + "schema": "public", + "values": [ + "applied", + "pending", + "failed", + "reversed" + ] + }, + "public.enum_operation_reservations_status": { + "name": "enum_operation_reservations_status", + "schema": "public", + "values": [ + "reserved", + "settled", + "cancelled", + "expired", + "no-show" + ] + }, + "public.enum_operation_readiness_subject_type": { + "name": "enum_operation_readiness_subject_type", + "schema": "public", + "values": [ + "user", + "role" + ] + }, + "public.enum_operation_readiness_nature": { + "name": "enum_operation_readiness_nature", + "schema": "public", + "values": [ + "advisory" + ] + }, + "public.enum_custom_radio_tests_order": { + "name": "enum_custom_radio_tests_order", + "schema": "public", + "values": [ + "fixed", + "shuffled" + ] + }, + "public.enum_custom_radio_test_scores_mode": { + "name": "enum_custom_radio_test_scores_mode", + "schema": "public", + "values": [ + "sprint", + "watch" + ] + }, + "public.enum_plugin_ai_instructions_field_type": { + "name": "enum_plugin_ai_instructions_field_type", + "schema": "public", + "values": [ + "text", + "textarea", + "upload", + "richText" + ] + }, + "public.enum_plugin_ai_instructions_model_id": { + "name": "enum_plugin_ai_instructions_model_id", + "schema": "public", + "values": [ + "unsloth-text" + ] + }, + "public.enum_shims_shims_targeting_roles": { + "name": "enum_shims_shims_targeting_roles", + "schema": "public", + "values": [ + "guest", + "user", + "trusted", + "admin", + "developer" + ] + }, + "public.enum_shims_shims_type": { + "name": "enum_shims_shims_type", + "schema": "public", + "values": [ + "css", + "js" + ] + }, + "public.enum_shims_shims_targeting_audience": { + "name": "enum_shims_shims_targeting_audience", + "schema": "public", + "values": [ + "all", + "percentage", + "users", + "roles" + ] + }, + "public.enum_shims_shims_paths_match_type": { + "name": "enum_shims_shims_paths_match_type", + "schema": "public", + "values": [ + "all", + "include", + "exclude" + ] + } + }, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "id": "be1a518b-79c1-4465-958a-8c4b9a12638a", + "prevId": "00000000-0000-0000-0000-000000000000" +} \ No newline at end of file diff --git a/src/migrations/20260918_222549_add_operation_readiness.ts b/src/migrations/20260918_222549_add_operation_readiness.ts new file mode 100644 index 0000000..1b4bf9f --- /dev/null +++ b/src/migrations/20260918_222549_add_operation_readiness.ts @@ -0,0 +1,62 @@ +import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres' + +export async function up({ db, payload, req }: MigrateUpArgs): Promise { + await db.execute(sql` + CREATE TYPE "public"."enum_operation_readiness_subject_type" AS ENUM('user', 'role'); + CREATE TYPE "public"."enum_operation_readiness_nature" AS ENUM('advisory'); + ALTER TYPE "public"."enum_roles_permissions" ADD VALUE 'operation-readiness:create' BEFORE 'game-rules:read'; + ALTER TYPE "public"."enum_roles_permissions" ADD VALUE 'operation-readiness:read' BEFORE 'game-rules:read'; + ALTER TYPE "public"."enum_roles_permissions" ADD VALUE 'operation-readiness:update' BEFORE 'game-rules:read'; + ALTER TYPE "public"."enum_roles_permissions" ADD VALUE 'operation-readiness:delete' BEFORE 'game-rules:read'; + ALTER TYPE "public"."enum_roles_permissions" ADD VALUE 'admin:operation-readiness:manage' BEFORE 'game-rules:read'; + CREATE TABLE "operation_readiness" ( + "id" serial PRIMARY KEY NOT NULL, + "subject_type" "enum_operation_readiness_subject_type" NOT NULL, + "subject_id" numeric, + "subject_label" varchar, + "window_start" timestamp(3) with time zone NOT NULL, + "window_end" timestamp(3) with time zone, + "window_label" varchar, + "operation_id" varchar, + "calculation_version" varchar DEFAULT '1.0.0' NOT NULL, + "nature" "enum_operation_readiness_nature" DEFAULT 'advisory' NOT NULL, + "readiness_score" numeric, + "planning_confidence_score" numeric, + "contributing_categories" jsonb, + "input_count" numeric, + "explanation" varchar, + "recomputed_at" timestamp(3) with time zone, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL + ); + + ALTER TABLE "payload_mcp_api_keys" ADD COLUMN "operation_readiness_find" boolean DEFAULT false; + ALTER TABLE "payload_mcp_api_keys" ADD COLUMN "operation_readiness_create" boolean DEFAULT false; + ALTER TABLE "payload_mcp_api_keys" ADD COLUMN "operation_readiness_update" boolean DEFAULT false; + ALTER TABLE "payload_mcp_api_keys" ADD COLUMN "operation_readiness_delete" boolean DEFAULT false; + ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "operation_readiness_id" integer; + CREATE INDEX "operation_readiness_updated_at_idx" ON "operation_readiness" USING btree ("updated_at"); + CREATE INDEX "operation_readiness_created_at_idx" ON "operation_readiness" USING btree ("created_at"); + ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_operation_readiness_fk" FOREIGN KEY ("operation_readiness_id") REFERENCES "public"."operation_readiness"("id") ON DELETE cascade ON UPDATE no action; + CREATE INDEX "payload_locked_documents_rels_operation_readiness_id_idx" ON "payload_locked_documents_rels" USING btree ("operation_readiness_id");`) +} + +export async function down({ db, payload, req }: MigrateDownArgs): Promise { + await db.execute(sql` + ALTER TABLE "operation_readiness" DISABLE ROW LEVEL SECURITY; + DROP TABLE "operation_readiness" CASCADE; + ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_operation_readiness_fk"; + + ALTER TABLE "roles_permissions" ALTER COLUMN "value" SET DATA TYPE text; + DROP TYPE "public"."enum_roles_permissions"; + CREATE TYPE "public"."enum_roles_permissions" AS ENUM('system:admin-access', 'media:create', 'media:read', 'media:update', 'media:delete', 'admin:media:manage', 'users:create', 'users:read', 'users:update', 'users:delete', 'users:unlock', 'users:assign-roles', 'admin:users:manage', 'roles:create', 'roles:read', 'roles:update', 'roles:delete', 'admin:roles:manage', 'ranks:create', 'ranks:read', 'ranks:update', 'ranks:delete', 'admin:ranks:manage', 'profiles:create', 'profiles:read', 'profiles:update', 'profiles:delete', 'admin:profiles:manage', 'awards:create', 'awards:read', 'awards:update', 'awards:delete', 'admin:awards:manage', 'qualifications:create', 'qualifications:read', 'qualifications:update', 'qualifications:delete', 'admin:qualifications:manage', 'assignments:create', 'assignments:read', 'assignments:update', 'assignments:delete', 'admin:assignments:manage', 'assignment-transfers:create', 'assignment-transfers:read', 'assignment-transfers:update', 'assignment-transfers:delete', 'admin:assignment-transfers:manage', 'experience:create', 'experience:read', 'experience:update', 'experience:delete', 'admin:experience:manage', 'user-notifications:create', 'user-notifications:read', 'user-notifications:update', 'user-notifications:delete', 'admin:user-notifications:manage', 'evaluations:create', 'evaluations:read', 'evaluations:update', 'evaluations:delete', 'admin:evaluations:manage', 'missions:create', 'missions:read', 'missions:update', 'missions:delete', 'missions:read-sensitive', 'admin:missions:manage', 'mission-attendances:create', 'mission-attendances:read', 'mission-attendances:update', 'mission-attendances:delete', 'admin:mission-attendances:manage', 'campaigns:create', 'campaigns:read', 'campaigns:update', 'campaigns:delete', 'admin:campaigns:manage', 'campaigns:manage', 'factions:create', 'factions:read', 'factions:update', 'factions:delete', 'admin:factions:manage', 'technologies:create', 'technologies:read', 'technologies:update', 'technologies:delete', 'admin:technologies:manage', 'assets:create', 'assets:read', 'assets:update', 'assets:delete', 'admin:assets:manage', 'resources:create', 'resources:read', 'resources:update', 'resources:delete', 'admin:resources:manage', 'vehicles:create', 'vehicles:read', 'vehicles:update', 'vehicles:delete', 'admin:vehicles:manage', 'structures:create', 'structures:read', 'structures:update', 'structures:delete', 'admin:structures:manage', 'shipments:create', 'shipments:read', 'shipments:update', 'shipments:delete', 'admin:shipments:manage', 'bank-accounts:create', 'bank-accounts:read', 'bank-accounts:update', 'bank-accounts:delete', 'admin:bank-accounts:manage', 'bank-transactions:create', 'bank-transactions:read', 'bank-transactions:update', 'bank-transactions:delete', 'admin:bank-transactions:manage', 'ledger-entries:create', 'ledger-entries:read', 'ledger-entries:update', 'ledger-entries:delete', 'admin:ledger-entries:manage', 'locker-storages:create', 'locker-storages:read', 'locker-storages:update', 'locker-storages:delete', 'admin:locker-storages:manage', 'loadouts:create', 'loadouts:read', 'loadouts:update', 'loadouts:delete', 'admin:loadouts:manage', 'market-listings:create', 'market-listings:read', 'market-listings:update', 'market-listings:delete', 'admin:market-listings:manage', 'market-negotiations:create', 'market-negotiations:read', 'market-negotiations:update', 'market-negotiations:delete', 'admin:market-negotiations:manage', 'market-state:create', 'market-state:read', 'market-state:update', 'market-state:delete', 'admin:market-state:manage', 'projects:create', 'projects:read', 'projects:update', 'projects:delete', 'admin:projects:manage', 'labels:create', 'labels:read', 'labels:update', 'labels:delete', 'admin:labels:manage', 'sprints:create', 'sprints:read', 'sprints:update', 'sprints:delete', 'admin:sprints:manage', 'releases:create', 'releases:read', 'releases:update', 'releases:delete', 'admin:releases:manage', 'tickets:create', 'tickets:read', 'tickets:update', 'tickets:delete', 'admin:tickets:manage', 'ticket-votes:create', 'ticket-votes:read', 'ticket-votes:update', 'ticket-votes:delete', 'admin:ticket-votes:manage', 'game-structures:create', 'game-structures:read', 'game-structures:update', 'game-structures:delete', 'admin:game-structures:manage', 'game-vehicles:create', 'game-vehicles:read', 'game-vehicles:update', 'game-vehicles:delete', 'admin:game-vehicles:manage', 'game-npcs:create', 'game-npcs:read', 'game-npcs:update', 'game-npcs:delete', 'admin:game-npcs:manage', 'game-hard-resources:create', 'game-hard-resources:read', 'game-hard-resources:update', 'game-hard-resources:delete', 'admin:game-hard-resources:manage', 'game-event-logs:create', 'game-event-logs:read', 'game-event-logs:update', 'game-event-logs:delete', 'admin:game-event-logs:manage', 'maps:create', 'maps:read', 'maps:update', 'maps:delete', 'admin:maps:manage', 'map-roads:read', 'admin:map-roads:manage', 'map-zones:read', 'admin:map-zones:manage', 'resource-nodes:read', 'admin:resource-nodes:manage', 'narrative-events:create', 'narrative-events:read', 'narrative-events:update', 'narrative-events:delete', 'admin:narrative-events:manage', 'mission-files:create', 'mission-files:read', 'mission-files:update', 'mission-files:delete', 'admin:mission-files:manage', 'mod-lists:create', 'mod-lists:read', 'mod-lists:update', 'mod-lists:delete', 'admin:mod-lists:manage', 'game-servers:create', 'game-servers:read', 'game-servers:update', 'game-servers:delete', 'admin:game-servers:manage', 'arma-sync-events:create', 'arma-sync-events:read', 'arma-sync-events:update', 'arma-sync-events:delete', 'admin:arma-sync-events:manage', 'arma-commands:create', 'arma-commands:read', 'arma-commands:update', 'arma-commands:delete', 'admin:arma-commands:manage', 'operation-events:create', 'operation-events:read', 'operation-events:update', 'operation-events:delete', 'admin:operation-events:manage', 'operation-effects:create', 'operation-effects:read', 'operation-effects:update', 'operation-effects:delete', 'admin:operation-effects:manage', 'operation-reservations:create', 'operation-reservations:read', 'operation-reservations:update', 'operation-reservations:delete', 'admin:operation-reservations:manage', 'game-rules:read', 'game-rules:update', 'shims:read', 'shims:update', 'logistics:manage', 'intelligence:manage', 'profiles:intel_excerpt:update', 'banking:manage', 'tickets:staff', 'discord:staff', 'discord:announce', 'custom-minefields:update', 'custom-minefields:delete', 'custom-minefield-scores:delete', 'custom-radio-tests:update', 'custom-radio-tests:delete', 'custom-radio-test-scores:delete'); + ALTER TABLE "roles_permissions" ALTER COLUMN "value" SET DATA TYPE "public"."enum_roles_permissions" USING "value"::"public"."enum_roles_permissions"; + DROP INDEX "payload_locked_documents_rels_operation_readiness_id_idx"; + ALTER TABLE "payload_mcp_api_keys" DROP COLUMN "operation_readiness_find"; + ALTER TABLE "payload_mcp_api_keys" DROP COLUMN "operation_readiness_create"; + ALTER TABLE "payload_mcp_api_keys" DROP COLUMN "operation_readiness_update"; + ALTER TABLE "payload_mcp_api_keys" DROP COLUMN "operation_readiness_delete"; + ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "operation_readiness_id"; + DROP TYPE "public"."enum_operation_readiness_subject_type"; + DROP TYPE "public"."enum_operation_readiness_nature";`) +} diff --git a/src/migrations/20260920_044743_add_zone_pressure.json b/src/migrations/20260920_044743_add_zone_pressure.json new file mode 100644 index 0000000..48f0a4f --- /dev/null +++ b/src/migrations/20260920_044743_add_zone_pressure.json @@ -0,0 +1,31162 @@ +{ + "version": "7", + "dialect": "postgresql", + "tables": { + "public.media": { + "name": "media", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "alt": { + "name": "alt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "thumbnail_u_r_l": { + "name": "thumbnail_u_r_l", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filename": { + "name": "filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "mime_type": { + "name": "mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filesize": { + "name": "filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_x": { + "name": "focal_x", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_y": { + "name": "focal_y", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "media_updated_at_idx": { + "name": "media_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_created_at_idx": { + "name": "media_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_filename_idx": { + "name": "media_filename_idx", + "columns": [ + { + "expression": "filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_hard_resources": { + "name": "game_hard_resources", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_hard_resources_name_idx": { + "name": "game_hard_resources_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_hard_resources_updated_at_idx": { + "name": "game_hard_resources_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_hard_resources_created_at_idx": { + "name": "game_hard_resources_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures_labor_requirements": { + "name": "game_structures_labor_requirements", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "classification_id": { + "name": "classification_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "required_headcount": { + "name": "required_headcount", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "max_headcount": { + "name": "max_headcount", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "enforced_salary": { + "name": "enforced_salary", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "game_structures_labor_requirements_order_idx": { + "name": "game_structures_labor_requirements_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_labor_requirements_parent_id_idx": { + "name": "game_structures_labor_requirements_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_labor_requirements_classification_idx": { + "name": "game_structures_labor_requirements_classification_idx", + "columns": [ + { + "expression": "classification_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_labor_requirements_classification_id_labor_classifications_id_fk": { + "name": "game_structures_labor_requirements_classification_id_labor_classifications_id_fk", + "tableFrom": "game_structures_labor_requirements", + "tableTo": "labor_classifications", + "columnsFrom": [ + "classification_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_labor_requirements_parent_id_fk": { + "name": "game_structures_labor_requirements_parent_id_fk", + "tableFrom": "game_structures_labor_requirements", + "tableTo": "game_structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures_staff_positions": { + "name": "game_structures_staff_positions", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "position_type": { + "name": "position_type", + "type": "enum_game_structures_staff_positions_position_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "max": { + "name": "max", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "enforced_salary": { + "name": "enforced_salary", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "game_structures_staff_positions_order_idx": { + "name": "game_structures_staff_positions_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_staff_positions_parent_id_idx": { + "name": "game_structures_staff_positions_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_staff_positions_parent_id_fk": { + "name": "game_structures_staff_positions_parent_id_fk", + "tableFrom": "game_structures_staff_positions", + "tableTo": "game_structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures_production_inputs": { + "name": "game_structures_production_inputs", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount_per_hour": { + "name": "amount_per_hour", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + } + }, + "indexes": { + "game_structures_production_inputs_order_idx": { + "name": "game_structures_production_inputs_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_production_inputs_parent_id_idx": { + "name": "game_structures_production_inputs_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_production_inputs_resource_idx": { + "name": "game_structures_production_inputs_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_production_inputs_resource_id_resources_id_fk": { + "name": "game_structures_production_inputs_resource_id_resources_id_fk", + "tableFrom": "game_structures_production_inputs", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_production_inputs_parent_id_fk": { + "name": "game_structures_production_inputs_parent_id_fk", + "tableFrom": "game_structures_production_inputs", + "tableTo": "game_structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures_production_outputs": { + "name": "game_structures_production_outputs", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount_per_hour": { + "name": "amount_per_hour", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + } + }, + "indexes": { + "game_structures_production_outputs_order_idx": { + "name": "game_structures_production_outputs_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_production_outputs_parent_id_idx": { + "name": "game_structures_production_outputs_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_production_outputs_resource_idx": { + "name": "game_structures_production_outputs_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_production_outputs_resource_id_resources_id_fk": { + "name": "game_structures_production_outputs_resource_id_resources_id_fk", + "tableFrom": "game_structures_production_outputs", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_production_outputs_parent_id_fk": { + "name": "game_structures_production_outputs_parent_id_fk", + "tableFrom": "game_structures_production_outputs", + "tableTo": "game_structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures_installed_modules": { + "name": "game_structures_installed_modules", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "installed_at": { + "name": "installed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "game_structures_installed_modules_order_idx": { + "name": "game_structures_installed_modules_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_installed_modules_parent_id_idx": { + "name": "game_structures_installed_modules_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_installed_modules_parent_id_fk": { + "name": "game_structures_installed_modules_parent_id_fk", + "tableFrom": "game_structures_installed_modules", + "tableTo": "game_structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures_stored_resources": { + "name": "game_structures_stored_resources", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_x": { + "name": "grid_x", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_y": { + "name": "grid_y", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "rotated": { + "name": "rotated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": { + "game_structures_stored_resources_order_idx": { + "name": "game_structures_stored_resources_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_stored_resources_parent_id_idx": { + "name": "game_structures_stored_resources_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_stored_resources_resource_idx": { + "name": "game_structures_stored_resources_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_stored_resources_resource_id_resources_id_fk": { + "name": "game_structures_stored_resources_resource_id_resources_id_fk", + "tableFrom": "game_structures_stored_resources", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_stored_resources_parent_id_fk": { + "name": "game_structures_stored_resources_parent_id_fk", + "tableFrom": "game_structures_stored_resources", + "tableTo": "game_structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures_void_storage": { + "name": "game_structures_void_storage", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_x": { + "name": "grid_x", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_y": { + "name": "grid_y", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "rotated": { + "name": "rotated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": { + "game_structures_void_storage_order_idx": { + "name": "game_structures_void_storage_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_void_storage_parent_id_idx": { + "name": "game_structures_void_storage_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_void_storage_resource_idx": { + "name": "game_structures_void_storage_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_void_storage_resource_id_resources_id_fk": { + "name": "game_structures_void_storage_resource_id_resources_id_fk", + "tableFrom": "game_structures_void_storage", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_void_storage_parent_id_fk": { + "name": "game_structures_void_storage_parent_id_fk", + "tableFrom": "game_structures_void_storage", + "tableTo": "game_structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_structures": { + "name": "game_structures", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type_id": { + "name": "type_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "faction_id": { + "name": "faction_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "map_id": { + "name": "map_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "construction_status": { + "name": "construction_status", + "type": "enum_game_structures_construction_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'complete'" + }, + "construction_started_at": { + "name": "construction_started_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "construction_completes_at": { + "name": "construction_completes_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "maintenance_cost": { + "name": "maintenance_cost", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "production_paused": { + "name": "production_paused", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "last_production_at": { + "name": "last_production_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "production_stall_reason": { + "name": "production_stall_reason", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "coordinates": { + "name": "coordinates", + "type": "geometry(Point)", + "primaryKey": false, + "notNull": false + }, + "label_visible": { + "name": "label_visible", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "label_priority": { + "name": "label_priority", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "parent_structure_id": { + "name": "parent_structure_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_structures_type_idx": { + "name": "game_structures_type_idx", + "columns": [ + { + "expression": "type_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_faction_idx": { + "name": "game_structures_faction_idx", + "columns": [ + { + "expression": "faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_map_idx": { + "name": "game_structures_map_idx", + "columns": [ + { + "expression": "map_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_parent_structure_idx": { + "name": "game_structures_parent_structure_idx", + "columns": [ + { + "expression": "parent_structure_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_updated_at_idx": { + "name": "game_structures_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_structures_created_at_idx": { + "name": "game_structures_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_structures_type_id_structures_id_fk": { + "name": "game_structures_type_id_structures_id_fk", + "tableFrom": "game_structures", + "tableTo": "structures", + "columnsFrom": [ + "type_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_faction_id_factions_id_fk": { + "name": "game_structures_faction_id_factions_id_fk", + "tableFrom": "game_structures", + "tableTo": "factions", + "columnsFrom": [ + "faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_map_id_maps_id_fk": { + "name": "game_structures_map_id_maps_id_fk", + "tableFrom": "game_structures", + "tableTo": "maps", + "columnsFrom": [ + "map_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_structures_parent_structure_id_game_structures_id_fk": { + "name": "game_structures_parent_structure_id_game_structures_id_fk", + "tableFrom": "game_structures", + "tableTo": "game_structures", + "columnsFrom": [ + "parent_structure_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_vehicles_stored_resources": { + "name": "game_vehicles_stored_resources", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_x": { + "name": "grid_x", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_y": { + "name": "grid_y", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "rotated": { + "name": "rotated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": { + "game_vehicles_stored_resources_order_idx": { + "name": "game_vehicles_stored_resources_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_stored_resources_parent_id_idx": { + "name": "game_vehicles_stored_resources_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_stored_resources_resource_idx": { + "name": "game_vehicles_stored_resources_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_vehicles_stored_resources_resource_id_resources_id_fk": { + "name": "game_vehicles_stored_resources_resource_id_resources_id_fk", + "tableFrom": "game_vehicles_stored_resources", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_vehicles_stored_resources_parent_id_fk": { + "name": "game_vehicles_stored_resources_parent_id_fk", + "tableFrom": "game_vehicles_stored_resources", + "tableTo": "game_vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_vehicles_void_storage": { + "name": "game_vehicles_void_storage", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_x": { + "name": "grid_x", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "grid_y": { + "name": "grid_y", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "rotated": { + "name": "rotated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": { + "game_vehicles_void_storage_order_idx": { + "name": "game_vehicles_void_storage_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_void_storage_parent_id_idx": { + "name": "game_vehicles_void_storage_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_void_storage_resource_idx": { + "name": "game_vehicles_void_storage_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_vehicles_void_storage_resource_id_resources_id_fk": { + "name": "game_vehicles_void_storage_resource_id_resources_id_fk", + "tableFrom": "game_vehicles_void_storage", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_vehicles_void_storage_parent_id_fk": { + "name": "game_vehicles_void_storage_parent_id_fk", + "tableFrom": "game_vehicles_void_storage", + "tableTo": "game_vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_vehicles": { + "name": "game_vehicles", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type_id": { + "name": "type_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "deployed_at_id": { + "name": "deployed_at_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "faction_id": { + "name": "faction_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_game_vehicles_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'idle'" + }, + "current_fuel": { + "name": "current_fuel", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "current_health": { + "name": "current_health", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_vehicles_type_idx": { + "name": "game_vehicles_type_idx", + "columns": [ + { + "expression": "type_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_deployed_at_idx": { + "name": "game_vehicles_deployed_at_idx", + "columns": [ + { + "expression": "deployed_at_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_faction_idx": { + "name": "game_vehicles_faction_idx", + "columns": [ + { + "expression": "faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_updated_at_idx": { + "name": "game_vehicles_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_vehicles_created_at_idx": { + "name": "game_vehicles_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_vehicles_type_id_vehicles_id_fk": { + "name": "game_vehicles_type_id_vehicles_id_fk", + "tableFrom": "game_vehicles", + "tableTo": "vehicles", + "columnsFrom": [ + "type_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_vehicles_deployed_at_id_game_structures_id_fk": { + "name": "game_vehicles_deployed_at_id_game_structures_id_fk", + "tableFrom": "game_vehicles", + "tableTo": "game_structures", + "columnsFrom": [ + "deployed_at_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_vehicles_faction_id_factions_id_fk": { + "name": "game_vehicles_faction_id_factions_id_fk", + "tableFrom": "game_vehicles", + "tableTo": "factions", + "columnsFrom": [ + "faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_npcs": { + "name": "game_npcs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "occupation": { + "name": "occupation", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "location_id": { + "name": "location_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "faction_id": { + "name": "faction_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "bio": { + "name": "bio", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "is_generated": { + "name": "is_generated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "is_in_game": { + "name": "is_in_game", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "vendor_enabled": { + "name": "vendor_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "vendor_price_modifier": { + "name": "vendor_price_modifier", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_npcs_location_idx": { + "name": "game_npcs_location_idx", + "columns": [ + { + "expression": "location_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_faction_idx": { + "name": "game_npcs_faction_idx", + "columns": [ + { + "expression": "faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_updated_at_idx": { + "name": "game_npcs_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_created_at_idx": { + "name": "game_npcs_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_npcs_location_id_game_structures_id_fk": { + "name": "game_npcs_location_id_game_structures_id_fk", + "tableFrom": "game_npcs", + "tableTo": "game_structures", + "columnsFrom": [ + "location_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_npcs_faction_id_factions_id_fk": { + "name": "game_npcs_faction_id_factions_id_fk", + "tableFrom": "game_npcs", + "tableTo": "factions", + "columnsFrom": [ + "faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_npcs_rels": { + "name": "game_npcs_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "game_npcs_rels_order_idx": { + "name": "game_npcs_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_rels_parent_idx": { + "name": "game_npcs_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_rels_path_idx": { + "name": "game_npcs_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_npcs_rels_assets_id_idx": { + "name": "game_npcs_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_npcs_rels_parent_fk": { + "name": "game_npcs_rels_parent_fk", + "tableFrom": "game_npcs_rels", + "tableTo": "game_npcs", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "game_npcs_rels_assets_fk": { + "name": "game_npcs_rels_assets_fk", + "tableFrom": "game_npcs_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.npc_staffing": { + "name": "npc_staffing", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "npc_id": { + "name": "npc_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "structure_id": { + "name": "structure_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "position_type": { + "name": "position_type", + "type": "enum_npc_staffing_position_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'labor'" + }, + "position_title": { + "name": "position_title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "headcount": { + "name": "headcount", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "labor_classification_id": { + "name": "labor_classification_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "salary": { + "name": "salary", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "status": { + "name": "status", + "type": "enum_npc_staffing_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'active'" + }, + "hired_at": { + "name": "hired_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "terminated_at": { + "name": "terminated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "notes": { + "name": "notes", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "npc_staffing_npc_idx": { + "name": "npc_staffing_npc_idx", + "columns": [ + { + "expression": "npc_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "npc_staffing_structure_idx": { + "name": "npc_staffing_structure_idx", + "columns": [ + { + "expression": "structure_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "npc_staffing_labor_classification_idx": { + "name": "npc_staffing_labor_classification_idx", + "columns": [ + { + "expression": "labor_classification_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "npc_staffing_updated_at_idx": { + "name": "npc_staffing_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "npc_staffing_created_at_idx": { + "name": "npc_staffing_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "npc_staffing_npc_id_game_npcs_id_fk": { + "name": "npc_staffing_npc_id_game_npcs_id_fk", + "tableFrom": "npc_staffing", + "tableTo": "game_npcs", + "columnsFrom": [ + "npc_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "npc_staffing_structure_id_game_structures_id_fk": { + "name": "npc_staffing_structure_id_game_structures_id_fk", + "tableFrom": "npc_staffing", + "tableTo": "game_structures", + "columnsFrom": [ + "structure_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "npc_staffing_labor_classification_id_labor_classifications_id_fk": { + "name": "npc_staffing_labor_classification_id_labor_classifications_id_fk", + "tableFrom": "npc_staffing", + "tableTo": "labor_classifications", + "columnsFrom": [ + "labor_classification_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.labor_classifications": { + "name": "labor_classifications", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "default_unit_salary": { + "name": "default_unit_salary", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "build_efficiency": { + "name": "build_efficiency", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "available_headcount": { + "name": "available_headcount", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "labor_classifications_name_idx": { + "name": "labor_classifications_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "labor_classifications_key_idx": { + "name": "labor_classifications_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "labor_classifications_updated_at_idx": { + "name": "labor_classifications_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "labor_classifications_created_at_idx": { + "name": "labor_classifications_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_event_logs": { + "name": "game_event_logs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "system": { + "name": "system", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "timestamp": { + "name": "timestamp", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "message": { + "name": "message", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "actor_id": { + "name": "actor_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "structure_id": { + "name": "structure_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "target_collection": { + "name": "target_collection", + "type": "enum_game_event_logs_target_collection", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "target_id": { + "name": "target_id", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "data": { + "name": "data", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_event_logs_type_idx": { + "name": "game_event_logs_type_idx", + "columns": [ + { + "expression": "type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_event_logs_actor_idx": { + "name": "game_event_logs_actor_idx", + "columns": [ + { + "expression": "actor_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_event_logs_structure_idx": { + "name": "game_event_logs_structure_idx", + "columns": [ + { + "expression": "structure_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_event_logs_updated_at_idx": { + "name": "game_event_logs_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_event_logs_created_at_idx": { + "name": "game_event_logs_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_event_logs_actor_id_users_id_fk": { + "name": "game_event_logs_actor_id_users_id_fk", + "tableFrom": "game_event_logs", + "tableTo": "users", + "columnsFrom": [ + "actor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "game_event_logs_structure_id_game_structures_id_fk": { + "name": "game_event_logs_structure_id_game_structures_id_fk", + "tableFrom": "game_event_logs", + "tableTo": "game_structures", + "columnsFrom": [ + "structure_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users_roles": { + "name": "users_roles", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_users_roles", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "users_roles_order_idx": { + "name": "users_roles_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_roles_parent_idx": { + "name": "users_roles_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_roles_parent_fk": { + "name": "users_roles_parent_fk", + "tableFrom": "users_roles", + "tableTo": "users", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users_preferences_notifications_muted_types": { + "name": "users_preferences_notifications_muted_types", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_users_preferences_notifications_muted_types", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "users_preferences_notifications_muted_types_order_idx": { + "name": "users_preferences_notifications_muted_types_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_preferences_notifications_muted_types_parent_idx": { + "name": "users_preferences_notifications_muted_types_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_preferences_notifications_muted_types_parent_fk": { + "name": "users_preferences_notifications_muted_types_parent_fk", + "tableFrom": "users_preferences_notifications_muted_types", + "tableTo": "users", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users_preferences_discord_muted_types": { + "name": "users_preferences_discord_muted_types", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_users_preferences_discord_muted_types", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "users_preferences_discord_muted_types_order_idx": { + "name": "users_preferences_discord_muted_types_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_preferences_discord_muted_types_parent_idx": { + "name": "users_preferences_discord_muted_types_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_preferences_discord_muted_types_parent_fk": { + "name": "users_preferences_discord_muted_types_parent_fk", + "tableFrom": "users_preferences_discord_muted_types", + "tableTo": "users", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users_sessions": { + "name": "users_sessions", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "users_sessions_order_idx": { + "name": "users_sessions_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_sessions_parent_id_idx": { + "name": "users_sessions_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_sessions_parent_id_fk": { + "name": "users_sessions_parent_id_fk", + "tableFrom": "users_sessions", + "tableTo": "users", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users": { + "name": "users", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "discord_username": { + "name": "discord_username", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "discord_id": { + "name": "discord_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "display_name": { + "name": "display_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "payload_display_name": { + "name": "payload_display_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "steam_id": { + "name": "steam_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "preferences_notifications_muted_all": { + "name": "preferences_notifications_muted_all", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "preferences_display_show_callsign": { + "name": "preferences_display_show_callsign", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "preferences_display_lead_or_actual": { + "name": "preferences_display_lead_or_actual", + "type": "enum_users_preferences_display_lead_or_actual", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'lead'" + }, + "preferences_display_show_version_overlay": { + "name": "preferences_display_show_version_overlay", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "preferences_display_xp_display_mini": { + "name": "preferences_display_xp_display_mini", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "preferences_display_show_background_texture": { + "name": "preferences_display_show_background_texture", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "preferences_discord_enabled": { + "name": "preferences_discord_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "preferences_dashboard_layout": { + "name": "preferences_dashboard_layout", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "email": { + "name": "email", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "username": { + "name": "username", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "reset_password_token": { + "name": "reset_password_token", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "reset_password_expiration": { + "name": "reset_password_expiration", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "salt": { + "name": "salt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "hash": { + "name": "hash", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "login_attempts": { + "name": "login_attempts", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "lock_until": { + "name": "lock_until", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "users_discord_username_idx": { + "name": "users_discord_username_idx", + "columns": [ + { + "expression": "discord_username", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_discord_id_idx": { + "name": "users_discord_id_idx", + "columns": [ + { + "expression": "discord_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_updated_at_idx": { + "name": "users_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_created_at_idx": { + "name": "users_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_username_idx": { + "name": "users_username_idx", + "columns": [ + { + "expression": "username", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users_rels": { + "name": "users_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "roles_id": { + "name": "roles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "users_rels_order_idx": { + "name": "users_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_rels_parent_idx": { + "name": "users_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_rels_path_idx": { + "name": "users_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_rels_roles_id_idx": { + "name": "users_rels_roles_id_idx", + "columns": [ + { + "expression": "roles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_rels_parent_fk": { + "name": "users_rels_parent_fk", + "tableFrom": "users_rels", + "tableTo": "users", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "users_rels_roles_fk": { + "name": "users_rels_roles_fk", + "tableFrom": "users_rels", + "tableTo": "roles", + "columnsFrom": [ + "roles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.roles_permissions": { + "name": "roles_permissions", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_roles_permissions", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "roles_permissions_order_idx": { + "name": "roles_permissions_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "roles_permissions_parent_idx": { + "name": "roles_permissions_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "roles_permissions_parent_fk": { + "name": "roles_permissions_parent_fk", + "tableFrom": "roles_permissions", + "tableTo": "roles", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.roles": { + "name": "roles", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "is_system": { + "name": "is_system", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "is_superuser": { + "name": "is_superuser", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "roles_name_idx": { + "name": "roles_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "roles_slug_idx": { + "name": "roles_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "roles_updated_at_idx": { + "name": "roles_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "roles_created_at_idx": { + "name": "roles_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.roles_rels": { + "name": "roles_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "roles_id": { + "name": "roles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "roles_rels_order_idx": { + "name": "roles_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "roles_rels_parent_idx": { + "name": "roles_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "roles_rels_path_idx": { + "name": "roles_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "roles_rels_roles_id_idx": { + "name": "roles_rels_roles_id_idx", + "columns": [ + { + "expression": "roles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "roles_rels_parent_fk": { + "name": "roles_rels_parent_fk", + "tableFrom": "roles_rels", + "tableTo": "roles", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "roles_rels_roles_fk": { + "name": "roles_rels_roles_fk", + "tableFrom": "roles_rels", + "tableTo": "roles", + "columnsFrom": [ + "roles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ranks": { + "name": "ranks", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_order": { + "name": "_order", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "abbreviation": { + "name": "abbreviation", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "insignia_id": { + "name": "insignia_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "promotion_ceiling_id": { + "name": "promotion_ceiling_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "ranks__order_idx": { + "name": "ranks__order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_name_idx": { + "name": "ranks_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_abbreviation_idx": { + "name": "ranks_abbreviation_idx", + "columns": [ + { + "expression": "abbreviation", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_insignia_idx": { + "name": "ranks_insignia_idx", + "columns": [ + { + "expression": "insignia_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_promotion_ceiling_idx": { + "name": "ranks_promotion_ceiling_idx", + "columns": [ + { + "expression": "promotion_ceiling_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_updated_at_idx": { + "name": "ranks_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ranks_created_at_idx": { + "name": "ranks_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "ranks_insignia_id_media_id_fk": { + "name": "ranks_insignia_id_media_id_fk", + "tableFrom": "ranks", + "tableTo": "media", + "columnsFrom": [ + "insignia_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "ranks_promotion_ceiling_id_ranks_id_fk": { + "name": "ranks_promotion_ceiling_id_ranks_id_fk", + "tableFrom": "ranks", + "tableTo": "ranks", + "columnsFrom": [ + "promotion_ceiling_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.profiles_progression_awards": { + "name": "profiles_progression_awards", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "award_id": { + "name": "award_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "awarded_by_id": { + "name": "awarded_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "awarded_at": { + "name": "awarded_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "award_reason": { + "name": "award_reason", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "upgraded_from_id": { + "name": "upgraded_from_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "upgraded_at": { + "name": "upgraded_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "profiles_progression_awards_order_idx": { + "name": "profiles_progression_awards_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_progression_awards_parent_id_idx": { + "name": "profiles_progression_awards_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_progression_awards_award_idx": { + "name": "profiles_progression_awards_award_idx", + "columns": [ + { + "expression": "award_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_progression_awards_awarded_by_idx": { + "name": "profiles_progression_awards_awarded_by_idx", + "columns": [ + { + "expression": "awarded_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_progression_awards_upgraded_from_idx": { + "name": "profiles_progression_awards_upgraded_from_idx", + "columns": [ + { + "expression": "upgraded_from_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "profiles_progression_awards_award_id_awards_id_fk": { + "name": "profiles_progression_awards_award_id_awards_id_fk", + "tableFrom": "profiles_progression_awards", + "tableTo": "awards", + "columnsFrom": [ + "award_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "profiles_progression_awards_awarded_by_id_profiles_id_fk": { + "name": "profiles_progression_awards_awarded_by_id_profiles_id_fk", + "tableFrom": "profiles_progression_awards", + "tableTo": "profiles", + "columnsFrom": [ + "awarded_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "profiles_progression_awards_upgraded_from_id_awards_id_fk": { + "name": "profiles_progression_awards_upgraded_from_id_awards_id_fk", + "tableFrom": "profiles_progression_awards", + "tableTo": "awards", + "columnsFrom": [ + "upgraded_from_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "profiles_progression_awards_parent_id_fk": { + "name": "profiles_progression_awards_parent_id_fk", + "tableFrom": "profiles_progression_awards", + "tableTo": "profiles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.profiles": { + "name": "profiles", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "rank_id": { + "name": "rank_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "dossier_enlistment_date": { + "name": "dossier_enlistment_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "dossier_personal_excerpt": { + "name": "dossier_personal_excerpt", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "dossier_intel_excerpt": { + "name": "dossier_intel_excerpt", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "progression_scoreboard_infantry_kills": { + "name": "progression_scoreboard_infantry_kills", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_scoreboard_vehicle_kills": { + "name": "progression_scoreboard_vehicle_kills", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_scoreboard_armor_kills": { + "name": "progression_scoreboard_armor_kills", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_scoreboard_air_kills": { + "name": "progression_scoreboard_air_kills", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_scoreboard_deaths": { + "name": "progression_scoreboard_deaths", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_flappy_bird_games_played": { + "name": "progression_minigames_flappy_bird_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_flappy_bird_total_passes": { + "name": "progression_minigames_flappy_bird_total_passes", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_flappy_bird_best_score": { + "name": "progression_minigames_flappy_bird_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_flappy_bird_xp_earned": { + "name": "progression_minigames_flappy_bird_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_games_played": { + "name": "progression_minigames_eod_minesweeper_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_wins": { + "name": "progression_minigames_eod_minesweeper_wins", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_losses": { + "name": "progression_minigames_eod_minesweeper_losses", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_best_score": { + "name": "progression_minigames_eod_minesweeper_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_xp_earned": { + "name": "progression_minigames_eod_minesweeper_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_best_training_time": { + "name": "progression_minigames_eod_minesweeper_best_training_time", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_best_perimeter_time": { + "name": "progression_minigames_eod_minesweeper_best_perimeter_time", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_best_supply_road_time": { + "name": "progression_minigames_eod_minesweeper_best_supply_road_time", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_best_training_flags": { + "name": "progression_minigames_eod_minesweeper_best_training_flags", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_best_perimeter_flags": { + "name": "progression_minigames_eod_minesweeper_best_perimeter_flags", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_eod_minesweeper_best_supply_road_flags": { + "name": "progression_minigames_eod_minesweeper_best_supply_road_flags", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_games_played": { + "name": "progression_minigames_radio_traffic_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_total_messages": { + "name": "progression_minigames_radio_traffic_total_messages", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_incorrect_messages": { + "name": "progression_minigames_radio_traffic_incorrect_messages", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_best_score": { + "name": "progression_minigames_radio_traffic_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_best_accuracy": { + "name": "progression_minigames_radio_traffic_best_accuracy", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_best_sprint_time_ms": { + "name": "progression_minigames_radio_traffic_best_sprint_time_ms", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_sprint_games_played": { + "name": "progression_minigames_radio_traffic_sprint_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_sprint_total_messages": { + "name": "progression_minigames_radio_traffic_sprint_total_messages", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_sprint_incorrect_messages": { + "name": "progression_minigames_radio_traffic_sprint_incorrect_messages", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_sprint_best_score": { + "name": "progression_minigames_radio_traffic_sprint_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_sprint_best_accuracy": { + "name": "progression_minigames_radio_traffic_sprint_best_accuracy", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_watch_games_played": { + "name": "progression_minigames_radio_traffic_watch_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_watch_total_messages": { + "name": "progression_minigames_radio_traffic_watch_total_messages", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_watch_incorrect_messages": { + "name": "progression_minigames_radio_traffic_watch_incorrect_messages", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_watch_best_score": { + "name": "progression_minigames_radio_traffic_watch_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_watch_best_accuracy": { + "name": "progression_minigames_radio_traffic_watch_best_accuracy", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_radio_traffic_xp_earned": { + "name": "progression_minigames_radio_traffic_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_games_played": { + "name": "progression_minigames_aim_trainer_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_best_score": { + "name": "progression_minigames_aim_trainer_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_recruit_best_score": { + "name": "progression_minigames_aim_trainer_recruit_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_veteran_best_score": { + "name": "progression_minigames_aim_trainer_veteran_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_elite_best_score": { + "name": "progression_minigames_aim_trainer_elite_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_recruit_best_accuracy": { + "name": "progression_minigames_aim_trainer_recruit_best_accuracy", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_veteran_best_accuracy": { + "name": "progression_minigames_aim_trainer_veteran_best_accuracy", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_elite_best_accuracy": { + "name": "progression_minigames_aim_trainer_elite_best_accuracy", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_aim_trainer_xp_earned": { + "name": "progression_minigames_aim_trainer_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_opord_recall_games_played": { + "name": "progression_minigames_opord_recall_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_opord_recall_best_score": { + "name": "progression_minigames_opord_recall_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_opord_recall_best_accuracy": { + "name": "progression_minigames_opord_recall_best_accuracy", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_opord_recall_recruit_best_score": { + "name": "progression_minigames_opord_recall_recruit_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_opord_recall_veteran_best_score": { + "name": "progression_minigames_opord_recall_veteran_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_opord_recall_elite_best_score": { + "name": "progression_minigames_opord_recall_elite_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_opord_recall_recruit_best_time_ms": { + "name": "progression_minigames_opord_recall_recruit_best_time_ms", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "progression_minigames_opord_recall_veteran_best_time_ms": { + "name": "progression_minigames_opord_recall_veteran_best_time_ms", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "progression_minigames_opord_recall_elite_best_time_ms": { + "name": "progression_minigames_opord_recall_elite_best_time_ms", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "progression_minigames_opord_recall_xp_earned": { + "name": "progression_minigames_opord_recall_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_poker_games_played": { + "name": "progression_minigames_poker_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_poker_wins": { + "name": "progression_minigames_poker_wins", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_poker_second_places": { + "name": "progression_minigames_poker_second_places", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_poker_third_places": { + "name": "progression_minigames_poker_third_places", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_poker_fourth_places": { + "name": "progression_minigames_poker_fourth_places", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_poker_hands_won": { + "name": "progression_minigames_poker_hands_won", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_poker_best_score": { + "name": "progression_minigames_poker_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_poker_xp_earned": { + "name": "progression_minigames_poker_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_blackjack_games_played": { + "name": "progression_minigames_blackjack_games_played", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_blackjack_rounds_won": { + "name": "progression_minigames_blackjack_rounds_won", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_blackjack_blackjacks_hit": { + "name": "progression_minigames_blackjack_blackjacks_hit", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_blackjack_best_score": { + "name": "progression_minigames_blackjack_best_score", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_minigames_blackjack_xp_earned": { + "name": "progression_minigames_blackjack_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_chip_bank": { + "name": "progression_chip_bank", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "progression_chip_bank_refilled_at": { + "name": "progression_chip_bank_refilled_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "progression_voiceover_xp_earned": { + "name": "progression_voiceover_xp_earned", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "profiles_user_idx": { + "name": "profiles_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_rank_idx": { + "name": "profiles_rank_idx", + "columns": [ + { + "expression": "rank_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_updated_at_idx": { + "name": "profiles_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_created_at_idx": { + "name": "profiles_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "profiles_user_id_users_id_fk": { + "name": "profiles_user_id_users_id_fk", + "tableFrom": "profiles", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "profiles_rank_id_ranks_id_fk": { + "name": "profiles_rank_id_ranks_id_fk", + "tableFrom": "profiles", + "tableTo": "ranks", + "columnsFrom": [ + "rank_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.profiles_rels": { + "name": "profiles_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "qualifications_id": { + "name": "qualifications_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "profiles_rels_order_idx": { + "name": "profiles_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_rels_parent_idx": { + "name": "profiles_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_rels_path_idx": { + "name": "profiles_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "profiles_rels_qualifications_id_idx": { + "name": "profiles_rels_qualifications_id_idx", + "columns": [ + { + "expression": "qualifications_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "profiles_rels_parent_fk": { + "name": "profiles_rels_parent_fk", + "tableFrom": "profiles_rels", + "tableTo": "profiles", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "profiles_rels_qualifications_fk": { + "name": "profiles_rels_qualifications_fk", + "tableFrom": "profiles_rels", + "tableTo": "qualifications", + "columnsFrom": [ + "qualifications_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.awards_grant_config_allowed_grantor_assignment_types": { + "name": "awards_grant_config_allowed_grantor_assignment_types", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_awards_grant_config_allowed_grantor_assignment_types", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "awards_grant_config_allowed_grantor_assignment_types_order_idx": { + "name": "awards_grant_config_allowed_grantor_assignment_types_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_grant_config_allowed_grantor_assignment_types_parent_idx": { + "name": "awards_grant_config_allowed_grantor_assignment_types_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "awards_grant_config_allowed_grantor_assignment_types_parent_fk": { + "name": "awards_grant_config_allowed_grantor_assignment_types_parent_fk", + "tableFrom": "awards_grant_config_allowed_grantor_assignment_types", + "tableTo": "awards", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.awards": { + "name": "awards", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_awards_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'commendation'" + }, + "commendation_color": { + "name": "commendation_color", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'#92400e'" + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "experience_points": { + "name": "experience_points", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "ribbon_design": { + "name": "ribbon_design", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "background_image_id": { + "name": "background_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "medal_design": { + "name": "medal_design", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "advancement_series_key": { + "name": "advancement_series_key", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "advancement_tier": { + "name": "advancement_tier", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "grant_config_max_grants_per_grantor": { + "name": "grant_config_max_grants_per_grantor", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "grant_config_recipient_scope": { + "name": "grant_config_recipient_scope", + "type": "enum_awards_grant_config_recipient_scope", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'same_command'" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "awards_name_idx": { + "name": "awards_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_image_idx": { + "name": "awards_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_background_image_idx": { + "name": "awards_background_image_idx", + "columns": [ + { + "expression": "background_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_updated_at_idx": { + "name": "awards_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_created_at_idx": { + "name": "awards_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "awards_image_id_media_id_fk": { + "name": "awards_image_id_media_id_fk", + "tableFrom": "awards", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "awards_background_image_id_media_id_fk": { + "name": "awards_background_image_id_media_id_fk", + "tableFrom": "awards", + "tableTo": "media", + "columnsFrom": [ + "background_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.awards_rels": { + "name": "awards_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "assignments_id": { + "name": "assignments_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "awards_rels_order_idx": { + "name": "awards_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_rels_parent_idx": { + "name": "awards_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_rels_path_idx": { + "name": "awards_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "awards_rels_assignments_id_idx": { + "name": "awards_rels_assignments_id_idx", + "columns": [ + { + "expression": "assignments_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "awards_rels_parent_fk": { + "name": "awards_rels_parent_fk", + "tableFrom": "awards_rels", + "tableTo": "awards", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "awards_rels_assignments_fk": { + "name": "awards_rels_assignments_fk", + "tableFrom": "awards_rels", + "tableTo": "assignments", + "columnsFrom": [ + "assignments_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.qualifications": { + "name": "qualifications", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "qualifications_name_idx": { + "name": "qualifications_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "qualifications_updated_at_idx": { + "name": "qualifications_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "qualifications_created_at_idx": { + "name": "qualifications_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assignments": { + "name": "assignments", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_assignments_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "callsign": { + "name": "callsign", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "leader_id": { + "name": "leader_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "assignments_leader_idx": { + "name": "assignments_leader_idx", + "columns": [ + { + "expression": "leader_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_updated_at_idx": { + "name": "assignments_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_created_at_idx": { + "name": "assignments_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assignments_leader_id_users_id_fk": { + "name": "assignments_leader_id_users_id_fk", + "tableFrom": "assignments", + "tableTo": "users", + "columnsFrom": [ + "leader_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assignments_rels": { + "name": "assignments_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "assignments_id": { + "name": "assignments_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "assignments_rels_order_idx": { + "name": "assignments_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_rels_parent_idx": { + "name": "assignments_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_rels_path_idx": { + "name": "assignments_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_rels_assignments_id_idx": { + "name": "assignments_rels_assignments_id_idx", + "columns": [ + { + "expression": "assignments_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignments_rels_users_id_idx": { + "name": "assignments_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assignments_rels_parent_fk": { + "name": "assignments_rels_parent_fk", + "tableFrom": "assignments_rels", + "tableTo": "assignments", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assignments_rels_assignments_fk": { + "name": "assignments_rels_assignments_fk", + "tableFrom": "assignments_rels", + "tableTo": "assignments", + "columnsFrom": [ + "assignments_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assignments_rels_users_fk": { + "name": "assignments_rels_users_fk", + "tableFrom": "assignments_rels", + "tableTo": "users", + "columnsFrom": [ + "users_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assignment_transfers": { + "name": "assignment_transfers", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "requester_id": { + "name": "requester_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "from_assignment_id": { + "name": "from_assignment_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "to_assignment_id": { + "name": "to_assignment_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "enum_assignment_transfers_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "escalation_reason": { + "name": "escalation_reason", + "type": "enum_assignment_transfers_escalation_reason", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "from_leader_decision": { + "name": "from_leader_decision", + "type": "enum_assignment_transfers_from_leader_decision", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "to_leader_decision": { + "name": "to_leader_decision", + "type": "enum_assignment_transfers_to_leader_decision", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "from_decision_by_id": { + "name": "from_decision_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "to_decision_by_id": { + "name": "to_decision_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "from_decided_at": { + "name": "from_decided_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "to_decided_at": { + "name": "to_decided_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "from_leader_snapshot_id": { + "name": "from_leader_snapshot_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "to_leader_snapshot_id": { + "name": "to_leader_snapshot_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "rejection_reason": { + "name": "rejection_reason", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "request_note": { + "name": "request_note", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "appeal_note": { + "name": "appeal_note", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "resolved_by_id": { + "name": "resolved_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resolution_note": { + "name": "resolution_note", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "resolved_at": { + "name": "resolved_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "discord_from_leader_message_id": { + "name": "discord_from_leader_message_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "discord_to_leader_message_id": { + "name": "discord_to_leader_message_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "discord_requester_message_id": { + "name": "discord_requester_message_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "source_notified_to_user_id_id": { + "name": "source_notified_to_user_id_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "destination_notified_to_user_id_id": { + "name": "destination_notified_to_user_id_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "discord_delivered_keys": { + "name": "discord_delivered_keys", + "type": "jsonb", + "primaryKey": false, + "notNull": false, + "default": "'[]'::jsonb" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "assignment_transfers_requester_idx": { + "name": "assignment_transfers_requester_idx", + "columns": [ + { + "expression": "requester_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_from_assignment_idx": { + "name": "assignment_transfers_from_assignment_idx", + "columns": [ + { + "expression": "from_assignment_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_to_assignment_idx": { + "name": "assignment_transfers_to_assignment_idx", + "columns": [ + { + "expression": "to_assignment_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_status_idx": { + "name": "assignment_transfers_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_from_decision_by_idx": { + "name": "assignment_transfers_from_decision_by_idx", + "columns": [ + { + "expression": "from_decision_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_to_decision_by_idx": { + "name": "assignment_transfers_to_decision_by_idx", + "columns": [ + { + "expression": "to_decision_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_from_leader_snapshot_idx": { + "name": "assignment_transfers_from_leader_snapshot_idx", + "columns": [ + { + "expression": "from_leader_snapshot_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_to_leader_snapshot_idx": { + "name": "assignment_transfers_to_leader_snapshot_idx", + "columns": [ + { + "expression": "to_leader_snapshot_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_resolved_by_idx": { + "name": "assignment_transfers_resolved_by_idx", + "columns": [ + { + "expression": "resolved_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_source_notified_to_user_id_idx": { + "name": "assignment_transfers_source_notified_to_user_id_idx", + "columns": [ + { + "expression": "source_notified_to_user_id_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_destination_notified_to_user_id_idx": { + "name": "assignment_transfers_destination_notified_to_user_id_idx", + "columns": [ + { + "expression": "destination_notified_to_user_id_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_updated_at_idx": { + "name": "assignment_transfers_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assignment_transfers_created_at_idx": { + "name": "assignment_transfers_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assignment_transfers_requester_id_users_id_fk": { + "name": "assignment_transfers_requester_id_users_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "users", + "columnsFrom": [ + "requester_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_from_assignment_id_assignments_id_fk": { + "name": "assignment_transfers_from_assignment_id_assignments_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "assignments", + "columnsFrom": [ + "from_assignment_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_to_assignment_id_assignments_id_fk": { + "name": "assignment_transfers_to_assignment_id_assignments_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "assignments", + "columnsFrom": [ + "to_assignment_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_from_decision_by_id_users_id_fk": { + "name": "assignment_transfers_from_decision_by_id_users_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "users", + "columnsFrom": [ + "from_decision_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_to_decision_by_id_users_id_fk": { + "name": "assignment_transfers_to_decision_by_id_users_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "users", + "columnsFrom": [ + "to_decision_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_from_leader_snapshot_id_users_id_fk": { + "name": "assignment_transfers_from_leader_snapshot_id_users_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "users", + "columnsFrom": [ + "from_leader_snapshot_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_to_leader_snapshot_id_users_id_fk": { + "name": "assignment_transfers_to_leader_snapshot_id_users_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "users", + "columnsFrom": [ + "to_leader_snapshot_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_resolved_by_id_users_id_fk": { + "name": "assignment_transfers_resolved_by_id_users_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "users", + "columnsFrom": [ + "resolved_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_source_notified_to_user_id_id_users_id_fk": { + "name": "assignment_transfers_source_notified_to_user_id_id_users_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "users", + "columnsFrom": [ + "source_notified_to_user_id_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "assignment_transfers_destination_notified_to_user_id_id_users_id_fk": { + "name": "assignment_transfers_destination_notified_to_user_id_id_users_id_fk", + "tableFrom": "assignment_transfers", + "tableTo": "users", + "columnsFrom": [ + "destination_notified_to_user_id_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.experience": { + "name": "experience", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "required_points": { + "name": "required_points", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "experience_name_idx": { + "name": "experience_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "experience_updated_at_idx": { + "name": "experience_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "experience_created_at_idx": { + "name": "experience_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.user_notifications": { + "name": "user_notifications", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "message": { + "name": "message", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "link": { + "name": "link", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "read": { + "name": "read", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "user_notifications_user_idx": { + "name": "user_notifications_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "user_notifications_read_idx": { + "name": "user_notifications_read_idx", + "columns": [ + { + "expression": "read", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "user_notifications_updated_at_idx": { + "name": "user_notifications_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "user_notifications_created_at_idx": { + "name": "user_notifications_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "user_notifications_user_id_users_id_fk": { + "name": "user_notifications_user_id_users_id_fk", + "tableFrom": "user_notifications", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.evaluations": { + "name": "evaluations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "rater_id": { + "name": "rater_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "ratee_id": { + "name": "ratee_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "mission_id": { + "name": "mission_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "kind": { + "name": "kind", + "type": "enum_evaluations_kind", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "level": { + "name": "level", + "type": "enum_evaluations_level", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "comment": { + "name": "comment", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "evaluations_rater_idx": { + "name": "evaluations_rater_idx", + "columns": [ + { + "expression": "rater_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "evaluations_ratee_idx": { + "name": "evaluations_ratee_idx", + "columns": [ + { + "expression": "ratee_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "evaluations_mission_idx": { + "name": "evaluations_mission_idx", + "columns": [ + { + "expression": "mission_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "evaluations_updated_at_idx": { + "name": "evaluations_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "evaluations_created_at_idx": { + "name": "evaluations_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "evaluations_rater_id_users_id_fk": { + "name": "evaluations_rater_id_users_id_fk", + "tableFrom": "evaluations", + "tableTo": "users", + "columnsFrom": [ + "rater_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "evaluations_ratee_id_users_id_fk": { + "name": "evaluations_ratee_id_users_id_fk", + "tableFrom": "evaluations", + "tableTo": "users", + "columnsFrom": [ + "ratee_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "evaluations_mission_id_missions_id_fk": { + "name": "evaluations_mission_id_missions_id_fk", + "tableFrom": "evaluations", + "tableTo": "missions", + "columnsFrom": [ + "mission_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ribbon_submissions_grantor_types": { + "name": "ribbon_submissions_grantor_types", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_ribbon_submissions_grantor_types", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "ribbon_submissions_grantor_types_order_idx": { + "name": "ribbon_submissions_grantor_types_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ribbon_submissions_grantor_types_parent_idx": { + "name": "ribbon_submissions_grantor_types_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "ribbon_submissions_grantor_types_parent_fk": { + "name": "ribbon_submissions_grantor_types_parent_fk", + "tableFrom": "ribbon_submissions_grantor_types", + "tableTo": "ribbon_submissions", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ribbon_submissions": { + "name": "ribbon_submissions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "design": { + "name": "design", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "enum_ribbon_submissions_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "review_note": { + "name": "review_note", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "reviewed_by_id": { + "name": "reviewed_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "reviewed_at": { + "name": "reviewed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "award_id": { + "name": "award_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "award_xp": { + "name": "award_xp", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "recipient_scope": { + "name": "recipient_scope", + "type": "enum_ribbon_submissions_recipient_scope", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'same_command'" + }, + "max_grants_per_grantor": { + "name": "max_grants_per_grantor", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "ribbon_submissions_user_idx": { + "name": "ribbon_submissions_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ribbon_submissions_reviewed_by_idx": { + "name": "ribbon_submissions_reviewed_by_idx", + "columns": [ + { + "expression": "reviewed_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ribbon_submissions_award_idx": { + "name": "ribbon_submissions_award_idx", + "columns": [ + { + "expression": "award_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ribbon_submissions_updated_at_idx": { + "name": "ribbon_submissions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ribbon_submissions_created_at_idx": { + "name": "ribbon_submissions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "ribbon_submissions_user_id_users_id_fk": { + "name": "ribbon_submissions_user_id_users_id_fk", + "tableFrom": "ribbon_submissions", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "ribbon_submissions_reviewed_by_id_users_id_fk": { + "name": "ribbon_submissions_reviewed_by_id_users_id_fk", + "tableFrom": "ribbon_submissions", + "tableTo": "users", + "columnsFrom": [ + "reviewed_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "ribbon_submissions_award_id_awards_id_fk": { + "name": "ribbon_submissions_award_id_awards_id_fk", + "tableFrom": "ribbon_submissions", + "tableTo": "awards", + "columnsFrom": [ + "award_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_mission_roles_provided_roles": { + "name": "missions_mission_roles_provided_roles", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "role_name": { + "name": "role_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "mission_critical": { + "name": "mission_critical", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "minimum_rank_id": { + "name": "minimum_rank_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "missions_mission_roles_provided_roles_order_idx": { + "name": "missions_mission_roles_provided_roles_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_mission_roles_provided_roles_parent_id_idx": { + "name": "missions_mission_roles_provided_roles_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_mission_roles_provided_roles_minimum_rank_idx": { + "name": "missions_mission_roles_provided_roles_minimum_rank_idx", + "columns": [ + { + "expression": "minimum_rank_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_mission_roles_provided_roles_minimum_rank_id_ranks_id_fk": { + "name": "missions_mission_roles_provided_roles_minimum_rank_id_ranks_id_fk", + "tableFrom": "missions_mission_roles_provided_roles", + "tableTo": "ranks", + "columnsFrom": [ + "minimum_rank_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_mission_roles_provided_roles_parent_id_fk": { + "name": "missions_mission_roles_provided_roles_parent_id_fk", + "tableFrom": "missions_mission_roles_provided_roles", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_briefing": { + "name": "missions_briefing", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "section_name": { + "name": "section_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "details": { + "name": "details", + "type": "jsonb", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "missions_briefing_order_idx": { + "name": "missions_briefing_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_briefing_parent_id_idx": { + "name": "missions_briefing_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_briefing_parent_id_fk": { + "name": "missions_briefing_parent_id_fk", + "tableFrom": "missions_briefing", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_mission_objectives": { + "name": "missions_mission_objectives", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "mission_critical": { + "name": "mission_critical", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "success_or_fail_conditions": { + "name": "success_or_fail_conditions", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "redacted": { + "name": "redacted", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": { + "missions_mission_objectives_order_idx": { + "name": "missions_mission_objectives_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_mission_objectives_parent_id_idx": { + "name": "missions_mission_objectives_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_mission_objectives_parent_id_fk": { + "name": "missions_mission_objectives_parent_id_fk", + "tableFrom": "missions_mission_objectives", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_factions_involved": { + "name": "missions_factions_involved", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "faction_id": { + "name": "faction_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "threat_level": { + "name": "threat_level", + "type": "enum_missions_factions_involved_threat_level", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'hostile'" + } + }, + "indexes": { + "missions_factions_involved_order_idx": { + "name": "missions_factions_involved_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_factions_involved_parent_id_idx": { + "name": "missions_factions_involved_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_factions_involved_faction_idx": { + "name": "missions_factions_involved_faction_idx", + "columns": [ + { + "expression": "faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_factions_involved_faction_id_factions_id_fk": { + "name": "missions_factions_involved_faction_id_factions_id_fk", + "tableFrom": "missions_factions_involved", + "tableTo": "factions", + "columnsFrom": [ + "faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_factions_involved_parent_id_fk": { + "name": "missions_factions_involved_parent_id_fk", + "tableFrom": "missions_factions_involved", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_logistics_and_support_insertion": { + "name": "missions_logistics_and_support_insertion", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_missions_logistics_and_support_insertion", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "missions_logistics_and_support_insertion_order_idx": { + "name": "missions_logistics_and_support_insertion_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_logistics_and_support_insertion_parent_idx": { + "name": "missions_logistics_and_support_insertion_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_logistics_and_support_insertion_parent_fk": { + "name": "missions_logistics_and_support_insertion_parent_fk", + "tableFrom": "missions_logistics_and_support_insertion", + "tableTo": "missions", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_logistics_and_support_extraction": { + "name": "missions_logistics_and_support_extraction", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_missions_logistics_and_support_extraction", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "missions_logistics_and_support_extraction_order_idx": { + "name": "missions_logistics_and_support_extraction_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_logistics_and_support_extraction_parent_idx": { + "name": "missions_logistics_and_support_extraction_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_logistics_and_support_extraction_parent_fk": { + "name": "missions_logistics_and_support_extraction_parent_fk", + "tableFrom": "missions_logistics_and_support_extraction", + "tableTo": "missions", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_logistics_and_support_assets_available": { + "name": "missions_logistics_and_support_assets_available", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "asset_type": { + "name": "asset_type", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "asset_count": { + "name": "asset_count", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "does_respawn": { + "name": "does_respawn", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "asset_callsign": { + "name": "asset_callsign", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "missions_logistics_and_support_assets_available_order_idx": { + "name": "missions_logistics_and_support_assets_available_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_logistics_and_support_assets_available_parent_id_idx": { + "name": "missions_logistics_and_support_assets_available_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_logistics_and_support_assets_available_parent_id_fk": { + "name": "missions_logistics_and_support_assets_available_parent_id_fk", + "tableFrom": "missions_logistics_and_support_assets_available", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_comms_and_docs_frequencies": { + "name": "missions_comms_and_docs_frequencies", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "frequency": { + "name": "frequency", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "channel": { + "name": "channel", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "net_name": { + "name": "net_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "freq_usage": { + "name": "freq_usage", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "missions_comms_and_docs_frequencies_order_idx": { + "name": "missions_comms_and_docs_frequencies_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_comms_and_docs_frequencies_parent_id_idx": { + "name": "missions_comms_and_docs_frequencies_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_comms_and_docs_frequencies_parent_id_fk": { + "name": "missions_comms_and_docs_frequencies_parent_id_fk", + "tableFrom": "missions_comms_and_docs_frequencies", + "tableTo": "missions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions": { + "name": "missions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "code_name": { + "name": "code_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "operation_type": { + "name": "operation_type", + "type": "enum_missions_operation_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "discord_message_id": { + "name": "discord_message_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "discord_attendance_hash": { + "name": "discord_attendance_hash", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "discord_attendance_sent_at": { + "name": "discord_attendance_sent_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "discord_modlist_hash": { + "name": "discord_modlist_hash", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "discord_cancelled_at": { + "name": "discord_cancelled_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "evaluation_reminders_sent_at": { + "name": "evaluation_reminders_sent_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "ready_reminder_web_sent_at": { + "name": "ready_reminder_web_sent_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "ready_reminder_dm_sent_at": { + "name": "ready_reminder_dm_sent_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "imminent_reminder_sent_at": { + "name": "imminent_reminder_sent_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "tickets_settled_at": { + "name": "tickets_settled_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_by_id": { + "name": "created_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "cover_image_id": { + "name": "cover_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "classification_map_id": { + "name": "classification_map_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "classification_mission_type": { + "name": "classification_mission_type", + "type": "enum_missions_classification_mission_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'Zeus'" + }, + "classification_campaign_id": { + "name": "classification_campaign_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "classification_custom_scripts": { + "name": "classification_custom_scripts", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "classification_start_date_time": { + "name": "classification_start_date_time", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "classification_estimated_duration": { + "name": "classification_estimated_duration", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 240 + }, + "ownership_and_status_status": { + "name": "ownership_and_status_status", + "type": "enum_missions_ownership_and_status_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'Concept'" + }, + "ownership_and_status_visibility": { + "name": "ownership_and_status_visibility", + "type": "enum_missions_ownership_and_status_visibility", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'leadership'" + }, + "ownership_and_status_completed_at": { + "name": "ownership_and_status_completed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "mission_roles_max_players": { + "name": "mission_roles_max_players", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 32 + }, + "mission_roles_notes": { + "name": "mission_roles_notes", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "civilian_presence": { + "name": "civilian_presence", + "type": "enum_missions_civilian_presence", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'None'" + }, + "game_details_server_details_server_ip": { + "name": "game_details_server_details_server_ip", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'arma.onyxsimple.com'" + }, + "game_details_server_details_server_port": { + "name": "game_details_server_details_server_port", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 2302 + }, + "game_details_server_details_server_password": { + "name": "game_details_server_details_server_password", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'ptf313'" + }, + "game_details_game_setup_mission_file_id": { + "name": "game_details_game_setup_mission_file_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_details_game_setup_required_mods_id": { + "name": "game_details_game_setup_required_mods_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "comms_and_docs_radio_plan": { + "name": "comms_and_docs_radio_plan", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "missions_code_name_idx": { + "name": "missions_code_name_idx", + "columns": [ + { + "expression": "code_name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_created_by_idx": { + "name": "missions_created_by_idx", + "columns": [ + { + "expression": "created_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_cover_image_idx": { + "name": "missions_cover_image_idx", + "columns": [ + { + "expression": "cover_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_classification_classification_map_idx": { + "name": "missions_classification_classification_map_idx", + "columns": [ + { + "expression": "classification_map_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_classification_classification_campaign_idx": { + "name": "missions_classification_classification_campaign_idx", + "columns": [ + { + "expression": "classification_campaign_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_game_details_game_setup_game_details_game_setup_idx": { + "name": "missions_game_details_game_setup_game_details_game_setup_idx", + "columns": [ + { + "expression": "game_details_game_setup_mission_file_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_game_details_game_setup_game_details_game_set_1_idx": { + "name": "missions_game_details_game_setup_game_details_game_set_1_idx", + "columns": [ + { + "expression": "game_details_game_setup_required_mods_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_updated_at_idx": { + "name": "missions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_created_at_idx": { + "name": "missions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_created_by_id_users_id_fk": { + "name": "missions_created_by_id_users_id_fk", + "tableFrom": "missions", + "tableTo": "users", + "columnsFrom": [ + "created_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_cover_image_id_media_id_fk": { + "name": "missions_cover_image_id_media_id_fk", + "tableFrom": "missions", + "tableTo": "media", + "columnsFrom": [ + "cover_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_classification_map_id_maps_id_fk": { + "name": "missions_classification_map_id_maps_id_fk", + "tableFrom": "missions", + "tableTo": "maps", + "columnsFrom": [ + "classification_map_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_classification_campaign_id_campaigns_id_fk": { + "name": "missions_classification_campaign_id_campaigns_id_fk", + "tableFrom": "missions", + "tableTo": "campaigns", + "columnsFrom": [ + "classification_campaign_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_game_details_game_setup_mission_file_id_mission_files_id_fk": { + "name": "missions_game_details_game_setup_mission_file_id_mission_files_id_fk", + "tableFrom": "missions", + "tableTo": "mission_files", + "columnsFrom": [ + "game_details_game_setup_mission_file_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "missions_game_details_game_setup_required_mods_id_mod_lists_id_fk": { + "name": "missions_game_details_game_setup_required_mods_id_mod_lists_id_fk", + "tableFrom": "missions", + "tableTo": "mod_lists", + "columnsFrom": [ + "game_details_game_setup_required_mods_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.missions_rels": { + "name": "missions_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "qualifications_id": { + "name": "qualifications_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "missions_rels_order_idx": { + "name": "missions_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_rels_parent_idx": { + "name": "missions_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_rels_path_idx": { + "name": "missions_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_rels_users_id_idx": { + "name": "missions_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "missions_rels_qualifications_id_idx": { + "name": "missions_rels_qualifications_id_idx", + "columns": [ + { + "expression": "qualifications_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "missions_rels_parent_fk": { + "name": "missions_rels_parent_fk", + "tableFrom": "missions_rels", + "tableTo": "missions", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "missions_rels_users_fk": { + "name": "missions_rels_users_fk", + "tableFrom": "missions_rels", + "tableTo": "users", + "columnsFrom": [ + "users_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "missions_rels_qualifications_fk": { + "name": "missions_rels_qualifications_fk", + "tableFrom": "missions_rels", + "tableTo": "qualifications", + "columnsFrom": [ + "qualifications_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mission_attendances": { + "name": "mission_attendances", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "mission_id": { + "name": "mission_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "response": { + "name": "response", + "type": "enum_mission_attendances_response", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "mission_attendances_mission_idx": { + "name": "mission_attendances_mission_idx", + "columns": [ + { + "expression": "mission_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_attendances_user_idx": { + "name": "mission_attendances_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_attendances_updated_at_idx": { + "name": "mission_attendances_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_attendances_created_at_idx": { + "name": "mission_attendances_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "mission_attendances_mission_id_missions_id_fk": { + "name": "mission_attendances_mission_id_missions_id_fk", + "tableFrom": "mission_attendances", + "tableTo": "missions", + "columnsFrom": [ + "mission_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "mission_attendances_user_id_users_id_fk": { + "name": "mission_attendances_user_id_users_id_fk", + "tableFrom": "mission_attendances", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.campaigns": { + "name": "campaigns", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'An Arma 3 campaign.'" + }, + "status": { + "name": "status", + "type": "enum_campaigns_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'concept'" + }, + "campaign_mode": { + "name": "campaign_mode", + "type": "enum_campaigns_campaign_mode", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'custom'" + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "start_date": { + "name": "start_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "end_date": { + "name": "end_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "cover_image_id": { + "name": "cover_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "owner_id": { + "name": "owner_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "campaigns_name_idx": { + "name": "campaigns_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "campaigns_cover_image_idx": { + "name": "campaigns_cover_image_idx", + "columns": [ + { + "expression": "cover_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "campaigns_owner_idx": { + "name": "campaigns_owner_idx", + "columns": [ + { + "expression": "owner_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "campaigns_updated_at_idx": { + "name": "campaigns_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "campaigns_created_at_idx": { + "name": "campaigns_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "campaigns_cover_image_id_media_id_fk": { + "name": "campaigns_cover_image_id_media_id_fk", + "tableFrom": "campaigns", + "tableTo": "media", + "columnsFrom": [ + "cover_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "campaigns_owner_id_users_id_fk": { + "name": "campaigns_owner_id_users_id_fk", + "tableFrom": "campaigns", + "tableTo": "users", + "columnsFrom": [ + "owner_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.factions_relationships": { + "name": "factions_relationships", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "target_faction_id": { + "name": "target_faction_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "notes": { + "name": "notes", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "factions_relationships_order_idx": { + "name": "factions_relationships_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_relationships_parent_id_idx": { + "name": "factions_relationships_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_relationships_target_faction_idx": { + "name": "factions_relationships_target_faction_idx", + "columns": [ + { + "expression": "target_faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "factions_relationships_target_faction_id_factions_id_fk": { + "name": "factions_relationships_target_faction_id_factions_id_fk", + "tableFrom": "factions_relationships", + "tableTo": "factions", + "columnsFrom": [ + "target_faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "factions_relationships_parent_id_fk": { + "name": "factions_relationships_parent_id_fk", + "tableFrom": "factions_relationships", + "tableTo": "factions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.factions": { + "name": "factions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_factions_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'minorFaction'" + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "reputation": { + "name": "reputation", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "playable_faction": { + "name": "playable_faction", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "starting_faction": { + "name": "starting_faction", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "cover_image_id": { + "name": "cover_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "factions_name_idx": { + "name": "factions_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_cover_image_idx": { + "name": "factions_cover_image_idx", + "columns": [ + { + "expression": "cover_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_updated_at_idx": { + "name": "factions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_created_at_idx": { + "name": "factions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "factions_cover_image_id_media_id_fk": { + "name": "factions_cover_image_id_media_id_fk", + "tableFrom": "factions", + "tableTo": "media", + "columnsFrom": [ + "cover_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.factions_rels": { + "name": "factions_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "campaigns_id": { + "name": "campaigns_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "factions_rels_order_idx": { + "name": "factions_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_rels_parent_idx": { + "name": "factions_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_rels_path_idx": { + "name": "factions_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "factions_rels_campaigns_id_idx": { + "name": "factions_rels_campaigns_id_idx", + "columns": [ + { + "expression": "campaigns_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "factions_rels_parent_fk": { + "name": "factions_rels_parent_fk", + "tableFrom": "factions_rels", + "tableTo": "factions", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "factions_rels_campaigns_fk": { + "name": "factions_rels_campaigns_fk", + "tableFrom": "factions_rels", + "tableTo": "campaigns", + "columnsFrom": [ + "campaigns_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.technologies_requirements_prerequisite_technologies": { + "name": "technologies_requirements_prerequisite_technologies", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "technologies_requirements_prerequisite_technologies_order_idx": { + "name": "technologies_requirements_prerequisite_technologies_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_requirements_prerequisite_technologies_parent_id_idx": { + "name": "technologies_requirements_prerequisite_technologies_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "technologies_requirements_prerequisite_technologies_parent_id_fk": { + "name": "technologies_requirements_prerequisite_technologies_parent_id_fk", + "tableFrom": "technologies_requirements_prerequisite_technologies", + "tableTo": "technologies", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.technologies_research_costs_resources": { + "name": "technologies_research_costs_resources", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + } + }, + "indexes": { + "technologies_research_costs_resources_order_idx": { + "name": "technologies_research_costs_resources_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_research_costs_resources_parent_id_idx": { + "name": "technologies_research_costs_resources_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_research_costs_resources_resource_idx": { + "name": "technologies_research_costs_resources_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "technologies_research_costs_resources_resource_id_resources_id_fk": { + "name": "technologies_research_costs_resources_resource_id_resources_id_fk", + "tableFrom": "technologies_research_costs_resources", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "technologies_research_costs_resources_parent_id_fk": { + "name": "technologies_research_costs_resources_parent_id_fk", + "tableFrom": "technologies_research_costs_resources", + "tableTo": "technologies", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.technologies": { + "name": "technologies", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "approval_status": { + "name": "approval_status", + "type": "enum_technologies_approval_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'in_progress'" + }, + "type": { + "name": "type", + "type": "enum_technologies_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'upgrade'" + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "research_costs_minimum_research_duration": { + "name": "research_costs_minimum_research_duration", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "research_costs_maximum_research_duration": { + "name": "research_costs_maximum_research_duration", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "technologies_updated_at_idx": { + "name": "technologies_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_created_at_idx": { + "name": "technologies_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.technologies_rels": { + "name": "technologies_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "technologies_id": { + "name": "technologies_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "technologies_rels_order_idx": { + "name": "technologies_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_rels_parent_idx": { + "name": "technologies_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_rels_path_idx": { + "name": "technologies_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "technologies_rels_technologies_id_idx": { + "name": "technologies_rels_technologies_id_idx", + "columns": [ + { + "expression": "technologies_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "technologies_rels_parent_fk": { + "name": "technologies_rels_parent_fk", + "tableFrom": "technologies_rels", + "tableTo": "technologies", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "technologies_rels_technologies_fk": { + "name": "technologies_rels_technologies_fk", + "tableFrom": "technologies_rels", + "tableTo": "technologies", + "columnsFrom": [ + "technologies_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assets_skin_configuration_applies_to_asset_types": { + "name": "assets_skin_configuration_applies_to_asset_types", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_assets_skin_configuration_applies_to_asset_types", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "assets_skin_configuration_applies_to_asset_types_order_idx": { + "name": "assets_skin_configuration_applies_to_asset_types_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_skin_configuration_applies_to_asset_types_parent_idx": { + "name": "assets_skin_configuration_applies_to_asset_types_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assets_skin_configuration_applies_to_asset_types_parent_fk": { + "name": "assets_skin_configuration_applies_to_asset_types_parent_fk", + "tableFrom": "assets_skin_configuration_applies_to_asset_types", + "tableTo": "assets", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assets_crafting_crafting_data_inputs": { + "name": "assets_crafting_crafting_data_inputs", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "quantity": { + "name": "quantity", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "lended": { + "name": "lended", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "assets_crafting_crafting_data_inputs_order_idx": { + "name": "assets_crafting_crafting_data_inputs_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_crafting_crafting_data_inputs_parent_id_idx": { + "name": "assets_crafting_crafting_data_inputs_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assets_crafting_crafting_data_inputs_parent_id_fk": { + "name": "assets_crafting_crafting_data_inputs_parent_id_fk", + "tableFrom": "assets_crafting_crafting_data_inputs", + "tableTo": "assets", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assets_crafting_crafting_data_byproducts": { + "name": "assets_crafting_crafting_data_byproducts", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "quantity": { + "name": "quantity", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "assets_crafting_crafting_data_byproducts_order_idx": { + "name": "assets_crafting_crafting_data_byproducts_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_crafting_crafting_data_byproducts_parent_id_idx": { + "name": "assets_crafting_crafting_data_byproducts_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assets_crafting_crafting_data_byproducts_parent_id_fk": { + "name": "assets_crafting_crafting_data_byproducts_parent_id_fk", + "tableFrom": "assets_crafting_crafting_data_byproducts", + "tableTo": "assets", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assets": { + "name": "assets", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "approval_status": { + "name": "approval_status", + "type": "enum_assets_approval_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'in_progress'" + }, + "class_name": { + "name": "class_name", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "''" + }, + "asset_type": { + "name": "asset_type", + "type": "enum_assets_asset_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'weapon'" + }, + "weapon_configuration_slot_type": { + "name": "weapon_configuration_slot_type", + "type": "enum_assets_weapon_configuration_slot_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "nightvision_configuration_nvg_generation": { + "name": "nightvision_configuration_nvg_generation", + "type": "enum_assets_nightvision_configuration_nvg_generation", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "nightvision_configuration_nvg_has_thermals": { + "name": "nightvision_configuration_nvg_has_thermals", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "container_configuration_capacity_kg": { + "name": "container_configuration_capacity_kg", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "container_configuration_weight_kg": { + "name": "container_configuration_weight_kg", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "magazine_configuration_round_capacity": { + "name": "magazine_configuration_round_capacity", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "magazine_configuration_ammo_type": { + "name": "magazine_configuration_ammo_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "magazine_configuration_greenmag_compatible": { + "name": "magazine_configuration_greenmag_compatible", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "asset_metadata_mod": { + "name": "asset_metadata_mod", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "asset_metadata_thumbnail_id": { + "name": "asset_metadata_thumbnail_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "asset_metadata_game_description": { + "name": "asset_metadata_game_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "tradeable": { + "name": "tradeable", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "market_trading_rarity": { + "name": "market_trading_rarity", + "type": "enum_assets_market_trading_rarity", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "market_trading_perceived_value_base_buy_price": { + "name": "market_trading_perceived_value_base_buy_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "market_trading_perceived_value_base_sell_price": { + "name": "market_trading_perceived_value_base_sell_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "economy_enabled": { + "name": "economy_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "economy_baseline_supply": { + "name": "economy_baseline_supply", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 100 + }, + "economy_baseline_demand": { + "name": "economy_baseline_demand", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 50 + }, + "economy_max_modifier": { + "name": "economy_max_modifier", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "crafting_craftable": { + "name": "crafting_craftable", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "crafting_blueprint_required": { + "name": "crafting_blueprint_required", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "crafting_technology_required_to_use": { + "name": "crafting_technology_required_to_use", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "crafting_crafting_data_crafting_time_per_unit": { + "name": "crafting_crafting_data_crafting_time_per_unit", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "crafting_crafting_data_batch_size": { + "name": "crafting_crafting_data_batch_size", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "storage_dimensions_grid_width": { + "name": "storage_dimensions_grid_width", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "storage_dimensions_grid_height": { + "name": "storage_dimensions_grid_height", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "storage_dimensions_stackable": { + "name": "storage_dimensions_stackable", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "storage_dimensions_max_stack_size": { + "name": "storage_dimensions_max_stack_size", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "storage_dimensions_rotatable": { + "name": "storage_dimensions_rotatable", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "is_live": { + "name": "is_live", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "notes": { + "name": "notes", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "assets_asset_metadata_asset_metadata_thumbnail_idx": { + "name": "assets_asset_metadata_asset_metadata_thumbnail_idx", + "columns": [ + { + "expression": "asset_metadata_thumbnail_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_updated_at_idx": { + "name": "assets_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_created_at_idx": { + "name": "assets_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assets_asset_metadata_thumbnail_id_media_id_fk": { + "name": "assets_asset_metadata_thumbnail_id_media_id_fk", + "tableFrom": "assets", + "tableTo": "media", + "columnsFrom": [ + "asset_metadata_thumbnail_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.assets_rels": { + "name": "assets_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "technologies_id": { + "name": "technologies_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "structures_id": { + "name": "structures_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "assets_rels_order_idx": { + "name": "assets_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_parent_idx": { + "name": "assets_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_path_idx": { + "name": "assets_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_assets_id_idx": { + "name": "assets_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_technologies_id_idx": { + "name": "assets_rels_technologies_id_idx", + "columns": [ + { + "expression": "technologies_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_resources_id_idx": { + "name": "assets_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "assets_rels_structures_id_idx": { + "name": "assets_rels_structures_id_idx", + "columns": [ + { + "expression": "structures_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "assets_rels_parent_fk": { + "name": "assets_rels_parent_fk", + "tableFrom": "assets_rels", + "tableTo": "assets", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assets_rels_assets_fk": { + "name": "assets_rels_assets_fk", + "tableFrom": "assets_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assets_rels_technologies_fk": { + "name": "assets_rels_technologies_fk", + "tableFrom": "assets_rels", + "tableTo": "technologies", + "columnsFrom": [ + "technologies_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assets_rels_resources_fk": { + "name": "assets_rels_resources_fk", + "tableFrom": "assets_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "assets_rels_structures_fk": { + "name": "assets_rels_structures_fk", + "tableFrom": "assets_rels", + "tableTo": "structures", + "columnsFrom": [ + "structures_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.resources": { + "name": "resources", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "code_name": { + "name": "code_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "approval_status": { + "name": "approval_status", + "type": "enum_resources_approval_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'in_progress'" + }, + "type": { + "name": "type", + "type": "enum_resources_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'physical'" + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "icon_id": { + "name": "icon_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "color": { + "name": "color", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "base_value": { + "name": "base_value", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "tradeable": { + "name": "tradeable", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "rarity": { + "name": "rarity", + "type": "enum_resources_rarity", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'common'" + }, + "economy_enabled": { + "name": "economy_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "economy_baseline_supply": { + "name": "economy_baseline_supply", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 100 + }, + "economy_baseline_demand": { + "name": "economy_baseline_demand", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 50 + }, + "economy_max_modifier": { + "name": "economy_max_modifier", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "unit_of_measure": { + "name": "unit_of_measure", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "mass_per_unit": { + "name": "mass_per_unit", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "stack_size": { + "name": "stack_size", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "grid_width": { + "name": "grid_width", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "grid_height": { + "name": "grid_height", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "stackable": { + "name": "stackable", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "max_stack_size": { + "name": "max_stack_size", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "rotatable": { + "name": "rotatable", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "resources_icon_idx": { + "name": "resources_icon_idx", + "columns": [ + { + "expression": "icon_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resources_updated_at_idx": { + "name": "resources_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resources_created_at_idx": { + "name": "resources_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "resources_icon_id_media_id_fk": { + "name": "resources_icon_id_media_id_fk", + "tableFrom": "resources", + "tableTo": "media", + "columnsFrom": [ + "icon_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_category": { + "name": "vehicles_category", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_vehicles_category", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "vehicles_category_order_idx": { + "name": "vehicles_category_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_category_parent_idx": { + "name": "vehicles_category_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_category_parent_fk": { + "name": "vehicles_category_parent_fk", + "tableFrom": "vehicles_category", + "tableTo": "vehicles", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_materials": { + "name": "vehicles_materials", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "vehicles_materials_order_idx": { + "name": "vehicles_materials_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_materials_parent_id_idx": { + "name": "vehicles_materials_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_materials_resource_idx": { + "name": "vehicles_materials_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_materials_resource_id_resources_id_fk": { + "name": "vehicles_materials_resource_id_resources_id_fk", + "tableFrom": "vehicles_materials", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "vehicles_materials_parent_id_fk": { + "name": "vehicles_materials_parent_id_fk", + "tableFrom": "vehicles_materials", + "tableTo": "vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_scrap_returns": { + "name": "vehicles_scrap_returns", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "chance": { + "name": "chance", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 100 + } + }, + "indexes": { + "vehicles_scrap_returns_order_idx": { + "name": "vehicles_scrap_returns_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_scrap_returns_parent_id_idx": { + "name": "vehicles_scrap_returns_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_scrap_returns_resource_idx": { + "name": "vehicles_scrap_returns_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_scrap_returns_resource_id_resources_id_fk": { + "name": "vehicles_scrap_returns_resource_id_resources_id_fk", + "tableFrom": "vehicles_scrap_returns", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "vehicles_scrap_returns_parent_id_fk": { + "name": "vehicles_scrap_returns_parent_id_fk", + "tableFrom": "vehicles_scrap_returns", + "tableTo": "vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_upkeep_costs": { + "name": "vehicles_upkeep_costs", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + } + }, + "indexes": { + "vehicles_upkeep_costs_order_idx": { + "name": "vehicles_upkeep_costs_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_upkeep_costs_parent_id_idx": { + "name": "vehicles_upkeep_costs_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_upkeep_costs_resource_idx": { + "name": "vehicles_upkeep_costs_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_upkeep_costs_resource_id_resources_id_fk": { + "name": "vehicles_upkeep_costs_resource_id_resources_id_fk", + "tableFrom": "vehicles_upkeep_costs", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "vehicles_upkeep_costs_parent_id_fk": { + "name": "vehicles_upkeep_costs_parent_id_fk", + "tableFrom": "vehicles_upkeep_costs", + "tableTo": "vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_allowed_virtual_cargo": { + "name": "vehicles_allowed_virtual_cargo", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + } + }, + "indexes": { + "vehicles_allowed_virtual_cargo_order_idx": { + "name": "vehicles_allowed_virtual_cargo_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_allowed_virtual_cargo_parent_id_idx": { + "name": "vehicles_allowed_virtual_cargo_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_allowed_virtual_cargo_parent_id_fk": { + "name": "vehicles_allowed_virtual_cargo_parent_id_fk", + "tableFrom": "vehicles_allowed_virtual_cargo", + "tableTo": "vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_pylons": { + "name": "vehicles_pylons", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "pylon_name": { + "name": "pylon_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "pylon_type": { + "name": "pylon_type", + "type": "enum_vehicles_pylons_pylon_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'mountedWeapon'" + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "ammo_type_id": { + "name": "ammo_type_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "vehicles_pylons_order_idx": { + "name": "vehicles_pylons_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_pylons_parent_id_idx": { + "name": "vehicles_pylons_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_pylons_ammo_type_idx": { + "name": "vehicles_pylons_ammo_type_idx", + "columns": [ + { + "expression": "ammo_type_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_pylons_ammo_type_id_assets_id_fk": { + "name": "vehicles_pylons_ammo_type_id_assets_id_fk", + "tableFrom": "vehicles_pylons", + "tableTo": "assets", + "columnsFrom": [ + "ammo_type_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "vehicles_pylons_parent_id_fk": { + "name": "vehicles_pylons_parent_id_fk", + "tableFrom": "vehicles_pylons", + "tableTo": "vehicles", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles": { + "name": "vehicles", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "classname": { + "name": "classname", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "approval_status": { + "name": "approval_status", + "type": "enum_vehicles_approval_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'in_progress'" + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "fuel_fuel_type_id": { + "name": "fuel_fuel_type_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "fuel_fuel_capacity": { + "name": "fuel_fuel_capacity", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "fuel_fuel_consumption_rate": { + "name": "fuel_fuel_consumption_rate", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "construction_time": { + "name": "construction_time", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "transport_mode": { + "name": "transport_mode", + "type": "enum_vehicles_transport_mode", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'ground'" + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_mass": { + "name": "max_mass", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "ace_cargo_slots": { + "name": "ace_cargo_slots", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_health": { + "name": "max_health", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "armor_rating": { + "name": "armor_rating", + "type": "enum_vehicles_armor_rating", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "max_speed_on_road": { + "name": "max_speed_on_road", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_speed_off_road": { + "name": "max_speed_off_road", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_airspeed": { + "name": "max_airspeed", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_knots": { + "name": "max_knots", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "vehicles_image_idx": { + "name": "vehicles_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_fuel_fuel_fuel_type_idx": { + "name": "vehicles_fuel_fuel_fuel_type_idx", + "columns": [ + { + "expression": "fuel_fuel_type_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_updated_at_idx": { + "name": "vehicles_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_created_at_idx": { + "name": "vehicles_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_image_id_media_id_fk": { + "name": "vehicles_image_id_media_id_fk", + "tableFrom": "vehicles", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "vehicles_fuel_fuel_type_id_resources_id_fk": { + "name": "vehicles_fuel_fuel_type_id_resources_id_fk", + "tableFrom": "vehicles", + "tableTo": "resources", + "columnsFrom": [ + "fuel_fuel_type_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.vehicles_rels": { + "name": "vehicles_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "technologies_id": { + "name": "technologies_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "vehicles_id": { + "name": "vehicles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "vehicles_rels_order_idx": { + "name": "vehicles_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_parent_idx": { + "name": "vehicles_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_path_idx": { + "name": "vehicles_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_technologies_id_idx": { + "name": "vehicles_rels_technologies_id_idx", + "columns": [ + { + "expression": "technologies_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_assets_id_idx": { + "name": "vehicles_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_vehicles_id_idx": { + "name": "vehicles_rels_vehicles_id_idx", + "columns": [ + { + "expression": "vehicles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "vehicles_rels_resources_id_idx": { + "name": "vehicles_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "vehicles_rels_parent_fk": { + "name": "vehicles_rels_parent_fk", + "tableFrom": "vehicles_rels", + "tableTo": "vehicles", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "vehicles_rels_technologies_fk": { + "name": "vehicles_rels_technologies_fk", + "tableFrom": "vehicles_rels", + "tableTo": "technologies", + "columnsFrom": [ + "technologies_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "vehicles_rels_assets_fk": { + "name": "vehicles_rels_assets_fk", + "tableFrom": "vehicles_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "vehicles_rels_vehicles_fk": { + "name": "vehicles_rels_vehicles_fk", + "tableFrom": "vehicles_rels", + "tableTo": "vehicles", + "columnsFrom": [ + "vehicles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "vehicles_rels_resources_fk": { + "name": "vehicles_rels_resources_fk", + "tableFrom": "vehicles_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_materials": { + "name": "structures_materials", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_materials_order_idx": { + "name": "structures_materials_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_materials_parent_id_idx": { + "name": "structures_materials_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_materials_resource_idx": { + "name": "structures_materials_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_materials_resource_id_resources_id_fk": { + "name": "structures_materials_resource_id_resources_id_fk", + "tableFrom": "structures_materials", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_materials_parent_id_fk": { + "name": "structures_materials_parent_id_fk", + "tableFrom": "structures_materials", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_resources_in_range": { + "name": "structures_resources_in_range", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "range": { + "name": "range", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_resources_in_range_order_idx": { + "name": "structures_resources_in_range_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_resources_in_range_parent_id_idx": { + "name": "structures_resources_in_range_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_resources_in_range_resource_idx": { + "name": "structures_resources_in_range_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_resources_in_range_resource_id_resources_id_fk": { + "name": "structures_resources_in_range_resource_id_resources_id_fk", + "tableFrom": "structures_resources_in_range", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_resources_in_range_parent_id_fk": { + "name": "structures_resources_in_range_parent_id_fk", + "tableFrom": "structures_resources_in_range", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_structures_in_range": { + "name": "structures_structures_in_range", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "structure_id": { + "name": "structure_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "range": { + "name": "range", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_structures_in_range_order_idx": { + "name": "structures_structures_in_range_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_structures_in_range_parent_id_idx": { + "name": "structures_structures_in_range_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_structures_in_range_structure_idx": { + "name": "structures_structures_in_range_structure_idx", + "columns": [ + { + "expression": "structure_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_structures_in_range_structure_id_structures_id_fk": { + "name": "structures_structures_in_range_structure_id_structures_id_fk", + "tableFrom": "structures_structures_in_range", + "tableTo": "structures", + "columnsFrom": [ + "structure_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_structures_in_range_parent_id_fk": { + "name": "structures_structures_in_range_parent_id_fk", + "tableFrom": "structures_structures_in_range", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_upkeep": { + "name": "structures_upkeep", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_upkeep_order_idx": { + "name": "structures_upkeep_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_upkeep_parent_id_idx": { + "name": "structures_upkeep_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_upkeep_resource_idx": { + "name": "structures_upkeep_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_upkeep_resource_id_resources_id_fk": { + "name": "structures_upkeep_resource_id_resources_id_fk", + "tableFrom": "structures_upkeep", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_upkeep_parent_id_fk": { + "name": "structures_upkeep_parent_id_fk", + "tableFrom": "structures_upkeep", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_labor_requirements": { + "name": "structures_labor_requirements", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "classification_id": { + "name": "classification_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "required_headcount": { + "name": "required_headcount", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "max_headcount": { + "name": "max_headcount", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "enforced_salary": { + "name": "enforced_salary", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_labor_requirements_order_idx": { + "name": "structures_labor_requirements_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_labor_requirements_parent_id_idx": { + "name": "structures_labor_requirements_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_labor_requirements_classification_idx": { + "name": "structures_labor_requirements_classification_idx", + "columns": [ + { + "expression": "classification_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_labor_requirements_classification_id_labor_classifications_id_fk": { + "name": "structures_labor_requirements_classification_id_labor_classifications_id_fk", + "tableFrom": "structures_labor_requirements", + "tableTo": "labor_classifications", + "columnsFrom": [ + "classification_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_labor_requirements_parent_id_fk": { + "name": "structures_labor_requirements_parent_id_fk", + "tableFrom": "structures_labor_requirements", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_staff_positions": { + "name": "structures_staff_positions", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "position_type": { + "name": "position_type", + "type": "enum_structures_staff_positions_position_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "max": { + "name": "max", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "enforced_salary": { + "name": "enforced_salary", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_staff_positions_order_idx": { + "name": "structures_staff_positions_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_staff_positions_parent_id_idx": { + "name": "structures_staff_positions_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_staff_positions_parent_id_fk": { + "name": "structures_staff_positions_parent_id_fk", + "tableFrom": "structures_staff_positions", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_production_inputs": { + "name": "structures_production_inputs", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount_per_hour": { + "name": "amount_per_hour", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + } + }, + "indexes": { + "structures_production_inputs_order_idx": { + "name": "structures_production_inputs_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_production_inputs_parent_id_idx": { + "name": "structures_production_inputs_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_production_inputs_resource_idx": { + "name": "structures_production_inputs_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_production_inputs_resource_id_resources_id_fk": { + "name": "structures_production_inputs_resource_id_resources_id_fk", + "tableFrom": "structures_production_inputs", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_production_inputs_parent_id_fk": { + "name": "structures_production_inputs_parent_id_fk", + "tableFrom": "structures_production_inputs", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_production_outputs": { + "name": "structures_production_outputs", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount_per_hour": { + "name": "amount_per_hour", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + } + }, + "indexes": { + "structures_production_outputs_order_idx": { + "name": "structures_production_outputs_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_production_outputs_parent_id_idx": { + "name": "structures_production_outputs_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_production_outputs_resource_idx": { + "name": "structures_production_outputs_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_production_outputs_resource_id_resources_id_fk": { + "name": "structures_production_outputs_resource_id_resources_id_fk", + "tableFrom": "structures_production_outputs", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_production_outputs_parent_id_fk": { + "name": "structures_production_outputs_parent_id_fk", + "tableFrom": "structures_production_outputs", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_module_options_effects": { + "name": "structures_module_options_effects", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_structures_module_options_effects_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "numeric", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "structures_module_options_effects_order_idx": { + "name": "structures_module_options_effects_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_module_options_effects_parent_id_idx": { + "name": "structures_module_options_effects_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_module_options_effects_parent_id_fk": { + "name": "structures_module_options_effects_parent_id_fk", + "tableFrom": "structures_module_options_effects", + "tableTo": "structures_module_options", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_module_options_materials": { + "name": "structures_module_options_materials", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "structures_module_options_materials_order_idx": { + "name": "structures_module_options_materials_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_module_options_materials_parent_id_idx": { + "name": "structures_module_options_materials_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_module_options_materials_resource_idx": { + "name": "structures_module_options_materials_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_module_options_materials_resource_id_resources_id_fk": { + "name": "structures_module_options_materials_resource_id_resources_id_fk", + "tableFrom": "structures_module_options_materials", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_module_options_materials_parent_id_fk": { + "name": "structures_module_options_materials_parent_id_fk", + "tableFrom": "structures_module_options_materials", + "tableTo": "structures_module_options", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_module_options": { + "name": "structures_module_options", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "category": { + "name": "category", + "type": "enum_structures_module_options_category", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'utility'" + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_module_options_order_idx": { + "name": "structures_module_options_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_module_options_parent_id_idx": { + "name": "structures_module_options_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_module_options_parent_id_fk": { + "name": "structures_module_options_parent_id_fk", + "tableFrom": "structures_module_options", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_auto_generated_resources": { + "name": "structures_auto_generated_resources", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "min_amount": { + "name": "min_amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "max_amount": { + "name": "max_amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "min_frequency": { + "name": "min_frequency", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'1'" + }, + "max_frequency": { + "name": "max_frequency", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "produce_chance": { + "name": "produce_chance", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 100 + } + }, + "indexes": { + "structures_auto_generated_resources_order_idx": { + "name": "structures_auto_generated_resources_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_auto_generated_resources_parent_id_idx": { + "name": "structures_auto_generated_resources_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_auto_generated_resources_resource_idx": { + "name": "structures_auto_generated_resources_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_auto_generated_resources_resource_id_resources_id_fk": { + "name": "structures_auto_generated_resources_resource_id_resources_id_fk", + "tableFrom": "structures_auto_generated_resources", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_auto_generated_resources_parent_id_fk": { + "name": "structures_auto_generated_resources_parent_id_fk", + "tableFrom": "structures_auto_generated_resources", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_allowed_storage": { + "name": "structures_allowed_storage", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_allowed_storage_order_idx": { + "name": "structures_allowed_storage_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_allowed_storage_parent_id_idx": { + "name": "structures_allowed_storage_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_allowed_storage_parent_id_fk": { + "name": "structures_allowed_storage_parent_id_fk", + "tableFrom": "structures_allowed_storage", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_prohibited_storage": { + "name": "structures_prohibited_storage", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "structures_prohibited_storage_order_idx": { + "name": "structures_prohibited_storage_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_prohibited_storage_parent_id_idx": { + "name": "structures_prohibited_storage_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_prohibited_storage_parent_id_fk": { + "name": "structures_prohibited_storage_parent_id_fk", + "tableFrom": "structures_prohibited_storage", + "tableTo": "structures", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures": { + "name": "structures", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "code_name": { + "name": "code_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "approval_status": { + "name": "approval_status", + "type": "enum_structures_approval_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'in_progress'" + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "category": { + "name": "category", + "type": "enum_structures_category", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "construction_duration_minutes": { + "name": "construction_duration_minutes", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "construction_crew_required": { + "name": "construction_crew_required", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "requires_upgrade": { + "name": "requires_upgrade", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "upgrades_into_id": { + "name": "upgrades_into_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "upgrade_cost_multiplier": { + "name": "upgrade_cost_multiplier", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "terrain_type": { + "name": "terrain_type", + "type": "enum_structures_terrain_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "sell_price": { + "name": "sell_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "maintenance_cost": { + "name": "maintenance_cost", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "module_slots": { + "name": "module_slots", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "aura_effect_type": { + "name": "aura_effect_type", + "type": "enum_structures_aura_effect_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "aura_value": { + "name": "aura_value", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "aura_range_meters": { + "name": "aura_range_meters", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "function_type": { + "name": "function_type", + "type": "enum_structures_function_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "max_capacity_mass": { + "name": "max_capacity_mass", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "restrict_to_allowed": { + "name": "restrict_to_allowed", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "x_size": { + "name": "x_size", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "y_size": { + "name": "y_size", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "max_health": { + "name": "max_health", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "repair_speed": { + "name": "repair_speed", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "structures_image_idx": { + "name": "structures_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_upgrades_into_idx": { + "name": "structures_upgrades_into_idx", + "columns": [ + { + "expression": "upgrades_into_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_updated_at_idx": { + "name": "structures_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_created_at_idx": { + "name": "structures_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_image_id_media_id_fk": { + "name": "structures_image_id_media_id_fk", + "tableFrom": "structures", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "structures_upgrades_into_id_structures_id_fk": { + "name": "structures_upgrades_into_id_structures_id_fk", + "tableFrom": "structures", + "tableTo": "structures", + "columnsFrom": [ + "upgrades_into_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.structures_rels": { + "name": "structures_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "technologies_id": { + "name": "technologies_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "vehicles_id": { + "name": "vehicles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "structures_rels_order_idx": { + "name": "structures_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_parent_idx": { + "name": "structures_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_path_idx": { + "name": "structures_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_technologies_id_idx": { + "name": "structures_rels_technologies_id_idx", + "columns": [ + { + "expression": "technologies_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_assets_id_idx": { + "name": "structures_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_vehicles_id_idx": { + "name": "structures_rels_vehicles_id_idx", + "columns": [ + { + "expression": "vehicles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "structures_rels_resources_id_idx": { + "name": "structures_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "structures_rels_parent_fk": { + "name": "structures_rels_parent_fk", + "tableFrom": "structures_rels", + "tableTo": "structures", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "structures_rels_technologies_fk": { + "name": "structures_rels_technologies_fk", + "tableFrom": "structures_rels", + "tableTo": "technologies", + "columnsFrom": [ + "technologies_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "structures_rels_assets_fk": { + "name": "structures_rels_assets_fk", + "tableFrom": "structures_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "structures_rels_vehicles_fk": { + "name": "structures_rels_vehicles_fk", + "tableFrom": "structures_rels", + "tableTo": "vehicles", + "columnsFrom": [ + "vehicles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "structures_rels_resources_fk": { + "name": "structures_rels_resources_fk", + "tableFrom": "structures_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shipments_cargo": { + "name": "shipments_cargo", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "shipments_cargo_order_idx": { + "name": "shipments_cargo_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_cargo_parent_id_idx": { + "name": "shipments_cargo_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shipments_cargo_parent_id_fk": { + "name": "shipments_cargo_parent_id_fk", + "tableFrom": "shipments_cargo", + "tableTo": "shipments", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shipments": { + "name": "shipments", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "origin_id": { + "name": "origin_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "destination_id": { + "name": "destination_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "map_id": { + "name": "map_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "route_path": { + "name": "route_path", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "transport_vehicle_id": { + "name": "transport_vehicle_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "distance": { + "name": "distance", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "fuel_cost": { + "name": "fuel_cost", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "fuel_consumed": { + "name": "fuel_consumed", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "status": { + "name": "status", + "type": "enum_shipments_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "dispatched_at": { + "name": "dispatched_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "estimated_arrival": { + "name": "estimated_arrival", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "completed_at": { + "name": "completed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "auto_return": { + "name": "auto_return", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "created_by_id": { + "name": "created_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "failure_reason": { + "name": "failure_reason", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "shipments_origin_idx": { + "name": "shipments_origin_idx", + "columns": [ + { + "expression": "origin_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_destination_idx": { + "name": "shipments_destination_idx", + "columns": [ + { + "expression": "destination_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_map_idx": { + "name": "shipments_map_idx", + "columns": [ + { + "expression": "map_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_transport_vehicle_idx": { + "name": "shipments_transport_vehicle_idx", + "columns": [ + { + "expression": "transport_vehicle_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_created_by_idx": { + "name": "shipments_created_by_idx", + "columns": [ + { + "expression": "created_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_updated_at_idx": { + "name": "shipments_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_created_at_idx": { + "name": "shipments_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shipments_origin_id_game_structures_id_fk": { + "name": "shipments_origin_id_game_structures_id_fk", + "tableFrom": "shipments", + "tableTo": "game_structures", + "columnsFrom": [ + "origin_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "shipments_destination_id_game_structures_id_fk": { + "name": "shipments_destination_id_game_structures_id_fk", + "tableFrom": "shipments", + "tableTo": "game_structures", + "columnsFrom": [ + "destination_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "shipments_map_id_maps_id_fk": { + "name": "shipments_map_id_maps_id_fk", + "tableFrom": "shipments", + "tableTo": "maps", + "columnsFrom": [ + "map_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "shipments_transport_vehicle_id_game_vehicles_id_fk": { + "name": "shipments_transport_vehicle_id_game_vehicles_id_fk", + "tableFrom": "shipments", + "tableTo": "game_vehicles", + "columnsFrom": [ + "transport_vehicle_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "shipments_created_by_id_users_id_fk": { + "name": "shipments_created_by_id_users_id_fk", + "tableFrom": "shipments", + "tableTo": "users", + "columnsFrom": [ + "created_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shipments_rels": { + "name": "shipments_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "vehicles_id": { + "name": "vehicles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "shipments_rels_order_idx": { + "name": "shipments_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_rels_parent_idx": { + "name": "shipments_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_rels_path_idx": { + "name": "shipments_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_rels_resources_id_idx": { + "name": "shipments_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_rels_assets_id_idx": { + "name": "shipments_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shipments_rels_vehicles_id_idx": { + "name": "shipments_rels_vehicles_id_idx", + "columns": [ + { + "expression": "vehicles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shipments_rels_parent_fk": { + "name": "shipments_rels_parent_fk", + "tableFrom": "shipments_rels", + "tableTo": "shipments", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "shipments_rels_resources_fk": { + "name": "shipments_rels_resources_fk", + "tableFrom": "shipments_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "shipments_rels_assets_fk": { + "name": "shipments_rels_assets_fk", + "tableFrom": "shipments_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "shipments_rels_vehicles_fk": { + "name": "shipments_rels_vehicles_fk", + "tableFrom": "shipments_rels", + "tableTo": "vehicles", + "columnsFrom": [ + "vehicles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.bank_accounts": { + "name": "bank_accounts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "account_type": { + "name": "account_type", + "type": "enum_bank_accounts_account_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'personal'" + }, + "owner_faction_id": { + "name": "owner_faction_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "owner_user_id": { + "name": "owner_user_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "currency_id": { + "name": "currency_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "balance": { + "name": "balance", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "status": { + "name": "status", + "type": "enum_bank_accounts_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'open'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "bank_accounts_owner_faction_idx": { + "name": "bank_accounts_owner_faction_idx", + "columns": [ + { + "expression": "owner_faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_accounts_owner_user_idx": { + "name": "bank_accounts_owner_user_idx", + "columns": [ + { + "expression": "owner_user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_accounts_currency_idx": { + "name": "bank_accounts_currency_idx", + "columns": [ + { + "expression": "currency_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_accounts_updated_at_idx": { + "name": "bank_accounts_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "bank_accounts_owner_faction_id_factions_id_fk": { + "name": "bank_accounts_owner_faction_id_factions_id_fk", + "tableFrom": "bank_accounts", + "tableTo": "factions", + "columnsFrom": [ + "owner_faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "bank_accounts_owner_user_id_users_id_fk": { + "name": "bank_accounts_owner_user_id_users_id_fk", + "tableFrom": "bank_accounts", + "tableTo": "users", + "columnsFrom": [ + "owner_user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "bank_accounts_currency_id_resources_id_fk": { + "name": "bank_accounts_currency_id_resources_id_fk", + "tableFrom": "bank_accounts", + "tableTo": "resources", + "columnsFrom": [ + "currency_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.bank_transactions": { + "name": "bank_transactions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "transaction_number": { + "name": "transaction_number", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_bank_transactions_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "from_account_id": { + "name": "from_account_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "to_account_id": { + "name": "to_account_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "fee": { + "name": "fee", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "memo": { + "name": "memo", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "actor_id": { + "name": "actor_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_bank_transactions_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'completed'" + }, + "reference_id": { + "name": "reference_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "timestamp": { + "name": "timestamp", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "bank_transactions_transaction_number_idx": { + "name": "bank_transactions_transaction_number_idx", + "columns": [ + { + "expression": "transaction_number", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_from_account_idx": { + "name": "bank_transactions_from_account_idx", + "columns": [ + { + "expression": "from_account_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_to_account_idx": { + "name": "bank_transactions_to_account_idx", + "columns": [ + { + "expression": "to_account_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_actor_idx": { + "name": "bank_transactions_actor_idx", + "columns": [ + { + "expression": "actor_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_reference_idx": { + "name": "bank_transactions_reference_idx", + "columns": [ + { + "expression": "reference_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_updated_at_idx": { + "name": "bank_transactions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "bank_transactions_created_at_idx": { + "name": "bank_transactions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "bank_transactions_from_account_id_bank_accounts_id_fk": { + "name": "bank_transactions_from_account_id_bank_accounts_id_fk", + "tableFrom": "bank_transactions", + "tableTo": "bank_accounts", + "columnsFrom": [ + "from_account_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "bank_transactions_to_account_id_bank_accounts_id_fk": { + "name": "bank_transactions_to_account_id_bank_accounts_id_fk", + "tableFrom": "bank_transactions", + "tableTo": "bank_accounts", + "columnsFrom": [ + "to_account_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "bank_transactions_actor_id_users_id_fk": { + "name": "bank_transactions_actor_id_users_id_fk", + "tableFrom": "bank_transactions", + "tableTo": "users", + "columnsFrom": [ + "actor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "bank_transactions_reference_id_bank_transactions_id_fk": { + "name": "bank_transactions_reference_id_bank_transactions_id_fk", + "tableFrom": "bank_transactions", + "tableTo": "bank_transactions", + "columnsFrom": [ + "reference_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ledger_entries": { + "name": "ledger_entries", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "account_id": { + "name": "account_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "transaction_id": { + "name": "transaction_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_ledger_entries_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "balance_after": { + "name": "balance_after", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "memo": { + "name": "memo", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "timestamp": { + "name": "timestamp", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "ledger_entries_account_idx": { + "name": "ledger_entries_account_idx", + "columns": [ + { + "expression": "account_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ledger_entries_transaction_idx": { + "name": "ledger_entries_transaction_idx", + "columns": [ + { + "expression": "transaction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ledger_entries_updated_at_idx": { + "name": "ledger_entries_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ledger_entries_created_at_idx": { + "name": "ledger_entries_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "ledger_entries_account_id_bank_accounts_id_fk": { + "name": "ledger_entries_account_id_bank_accounts_id_fk", + "tableFrom": "ledger_entries", + "tableTo": "bank_accounts", + "columnsFrom": [ + "account_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "ledger_entries_transaction_id_bank_transactions_id_fk": { + "name": "ledger_entries_transaction_id_bank_transactions_id_fk", + "tableFrom": "ledger_entries", + "tableTo": "bank_transactions", + "columnsFrom": [ + "transaction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.locker_storages_items_equipment_attachments": { + "name": "locker_storages_items_equipment_attachments", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "asset_id": { + "name": "asset_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "locker_storages_items_equipment_attachments_order_idx": { + "name": "locker_storages_items_equipment_attachments_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_items_equipment_attachments_parent_id_idx": { + "name": "locker_storages_items_equipment_attachments_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_items_equipment_attachments_asset_idx": { + "name": "locker_storages_items_equipment_attachments_asset_idx", + "columns": [ + { + "expression": "asset_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "locker_storages_items_equipment_attachments_asset_id_assets_id_fk": { + "name": "locker_storages_items_equipment_attachments_asset_id_assets_id_fk", + "tableFrom": "locker_storages_items_equipment_attachments", + "tableTo": "assets", + "columnsFrom": [ + "asset_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "locker_storages_items_equipment_attachments_parent_id_fk": { + "name": "locker_storages_items_equipment_attachments_parent_id_fk", + "tableFrom": "locker_storages_items_equipment_attachments", + "tableTo": "locker_storages_items", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.locker_storages_items": { + "name": "locker_storages_items", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "asset_id": { + "name": "asset_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "quantity": { + "name": "quantity", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "grid_x": { + "name": "grid_x", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "grid_y": { + "name": "grid_y", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "rotated": { + "name": "rotated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "equipment_skin_id": { + "name": "equipment_skin_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "equipment_custom_name": { + "name": "equipment_custom_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "locker_storages_items_order_idx": { + "name": "locker_storages_items_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_items_parent_id_idx": { + "name": "locker_storages_items_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_items_asset_idx": { + "name": "locker_storages_items_asset_idx", + "columns": [ + { + "expression": "asset_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_items_equipment_equipment_skin_idx": { + "name": "locker_storages_items_equipment_equipment_skin_idx", + "columns": [ + { + "expression": "equipment_skin_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "locker_storages_items_asset_id_assets_id_fk": { + "name": "locker_storages_items_asset_id_assets_id_fk", + "tableFrom": "locker_storages_items", + "tableTo": "assets", + "columnsFrom": [ + "asset_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "locker_storages_items_equipment_skin_id_assets_id_fk": { + "name": "locker_storages_items_equipment_skin_id_assets_id_fk", + "tableFrom": "locker_storages_items", + "tableTo": "assets", + "columnsFrom": [ + "equipment_skin_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "locker_storages_items_parent_id_fk": { + "name": "locker_storages_items_parent_id_fk", + "tableFrom": "locker_storages_items", + "tableTo": "locker_storages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.locker_storages": { + "name": "locker_storages", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'Personal Locker'" + }, + "owner_user_id": { + "name": "owner_user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "item_count": { + "name": "item_count", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "locker_storages_owner_user_idx": { + "name": "locker_storages_owner_user_idx", + "columns": [ + { + "expression": "owner_user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_updated_at_idx": { + "name": "locker_storages_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "locker_storages_created_at_idx": { + "name": "locker_storages_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "locker_storages_owner_user_id_users_id_fk": { + "name": "locker_storages_owner_user_id_users_id_fk", + "tableFrom": "locker_storages", + "tableTo": "users", + "columnsFrom": [ + "owner_user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.loadouts": { + "name": "loadouts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "owner_user_id": { + "name": "owner_user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "equipped": { + "name": "equipped", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "slots_primary_id": { + "name": "slots_primary_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_secondary_id": { + "name": "slots_secondary_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_launcher_id": { + "name": "slots_launcher_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_uniform_id": { + "name": "slots_uniform_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_vest_id": { + "name": "slots_vest_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_backpack_id": { + "name": "slots_backpack_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_helmet_id": { + "name": "slots_helmet_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_facewear_id": { + "name": "slots_facewear_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_nvg_id": { + "name": "slots_nvg_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_radio_id": { + "name": "slots_radio_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_optic_id": { + "name": "slots_optic_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_muzzle_id": { + "name": "slots_muzzle_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slots_bipod_id": { + "name": "slots_bipod_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "loadouts_owner_user_idx": { + "name": "loadouts_owner_user_idx", + "columns": [ + { + "expression": "owner_user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_primary_idx": { + "name": "loadouts_slots_slots_primary_idx", + "columns": [ + { + "expression": "slots_primary_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_secondary_idx": { + "name": "loadouts_slots_slots_secondary_idx", + "columns": [ + { + "expression": "slots_secondary_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_launcher_idx": { + "name": "loadouts_slots_slots_launcher_idx", + "columns": [ + { + "expression": "slots_launcher_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_uniform_idx": { + "name": "loadouts_slots_slots_uniform_idx", + "columns": [ + { + "expression": "slots_uniform_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_vest_idx": { + "name": "loadouts_slots_slots_vest_idx", + "columns": [ + { + "expression": "slots_vest_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_backpack_idx": { + "name": "loadouts_slots_slots_backpack_idx", + "columns": [ + { + "expression": "slots_backpack_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_helmet_idx": { + "name": "loadouts_slots_slots_helmet_idx", + "columns": [ + { + "expression": "slots_helmet_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_facewear_idx": { + "name": "loadouts_slots_slots_facewear_idx", + "columns": [ + { + "expression": "slots_facewear_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_nvg_idx": { + "name": "loadouts_slots_slots_nvg_idx", + "columns": [ + { + "expression": "slots_nvg_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_radio_idx": { + "name": "loadouts_slots_slots_radio_idx", + "columns": [ + { + "expression": "slots_radio_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_optic_idx": { + "name": "loadouts_slots_slots_optic_idx", + "columns": [ + { + "expression": "slots_optic_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_muzzle_idx": { + "name": "loadouts_slots_slots_muzzle_idx", + "columns": [ + { + "expression": "slots_muzzle_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_slots_slots_bipod_idx": { + "name": "loadouts_slots_slots_bipod_idx", + "columns": [ + { + "expression": "slots_bipod_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_updated_at_idx": { + "name": "loadouts_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "loadouts_created_at_idx": { + "name": "loadouts_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "loadouts_owner_user_id_users_id_fk": { + "name": "loadouts_owner_user_id_users_id_fk", + "tableFrom": "loadouts", + "tableTo": "users", + "columnsFrom": [ + "owner_user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_primary_id_assets_id_fk": { + "name": "loadouts_slots_primary_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_primary_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_secondary_id_assets_id_fk": { + "name": "loadouts_slots_secondary_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_secondary_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_launcher_id_assets_id_fk": { + "name": "loadouts_slots_launcher_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_launcher_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_uniform_id_assets_id_fk": { + "name": "loadouts_slots_uniform_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_uniform_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_vest_id_assets_id_fk": { + "name": "loadouts_slots_vest_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_vest_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_backpack_id_assets_id_fk": { + "name": "loadouts_slots_backpack_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_backpack_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_helmet_id_assets_id_fk": { + "name": "loadouts_slots_helmet_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_helmet_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_facewear_id_assets_id_fk": { + "name": "loadouts_slots_facewear_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_facewear_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_nvg_id_assets_id_fk": { + "name": "loadouts_slots_nvg_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_nvg_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_radio_id_assets_id_fk": { + "name": "loadouts_slots_radio_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_radio_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_optic_id_assets_id_fk": { + "name": "loadouts_slots_optic_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_optic_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_muzzle_id_assets_id_fk": { + "name": "loadouts_slots_muzzle_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_muzzle_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "loadouts_slots_bipod_id_assets_id_fk": { + "name": "loadouts_slots_bipod_id_assets_id_fk", + "tableFrom": "loadouts", + "tableTo": "assets", + "columnsFrom": [ + "slots_bipod_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.market_listings": { + "name": "market_listings", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "asset_id": { + "name": "asset_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "seller_id": { + "name": "seller_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "npc_id": { + "name": "npc_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "quantity": { + "name": "quantity", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "price": { + "name": "price", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "desired_price": { + "name": "desired_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "min_price": { + "name": "min_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "currency_id": { + "name": "currency_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_market_listings_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'active'" + }, + "is_auto_generated": { + "name": "is_auto_generated", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "listed_at": { + "name": "listed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "sold_at": { + "name": "sold_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "buyer_id": { + "name": "buyer_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "market_listings_asset_idx": { + "name": "market_listings_asset_idx", + "columns": [ + { + "expression": "asset_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_seller_idx": { + "name": "market_listings_seller_idx", + "columns": [ + { + "expression": "seller_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_npc_idx": { + "name": "market_listings_npc_idx", + "columns": [ + { + "expression": "npc_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_currency_idx": { + "name": "market_listings_currency_idx", + "columns": [ + { + "expression": "currency_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_status_idx": { + "name": "market_listings_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_buyer_idx": { + "name": "market_listings_buyer_idx", + "columns": [ + { + "expression": "buyer_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_updated_at_idx": { + "name": "market_listings_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_listings_created_at_idx": { + "name": "market_listings_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "market_listings_asset_id_assets_id_fk": { + "name": "market_listings_asset_id_assets_id_fk", + "tableFrom": "market_listings", + "tableTo": "assets", + "columnsFrom": [ + "asset_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "market_listings_seller_id_users_id_fk": { + "name": "market_listings_seller_id_users_id_fk", + "tableFrom": "market_listings", + "tableTo": "users", + "columnsFrom": [ + "seller_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "market_listings_npc_id_game_npcs_id_fk": { + "name": "market_listings_npc_id_game_npcs_id_fk", + "tableFrom": "market_listings", + "tableTo": "game_npcs", + "columnsFrom": [ + "npc_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "market_listings_currency_id_resources_id_fk": { + "name": "market_listings_currency_id_resources_id_fk", + "tableFrom": "market_listings", + "tableTo": "resources", + "columnsFrom": [ + "currency_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "market_listings_buyer_id_users_id_fk": { + "name": "market_listings_buyer_id_users_id_fk", + "tableFrom": "market_listings", + "tableTo": "users", + "columnsFrom": [ + "buyer_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.market_negotiations_history": { + "name": "market_negotiations_history", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "from": { + "name": "from", + "type": "enum_market_negotiations_history_from", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "note": { + "name": "note", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "at": { + "name": "at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "market_negotiations_history_order_idx": { + "name": "market_negotiations_history_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_negotiations_history_parent_id_idx": { + "name": "market_negotiations_history_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "market_negotiations_history_parent_id_fk": { + "name": "market_negotiations_history_parent_id_fk", + "tableFrom": "market_negotiations_history", + "tableTo": "market_negotiations", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.market_negotiations": { + "name": "market_negotiations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "listing_id": { + "name": "listing_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "buyer_id": { + "name": "buyer_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "enum_market_negotiations_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'open'" + }, + "patience": { + "name": "patience", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "quantity": { + "name": "quantity", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "proposed_by": { + "name": "proposed_by", + "type": "enum_market_negotiations_proposed_by", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'buyer'" + }, + "accepted_price": { + "name": "accepted_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "market_negotiations_listing_idx": { + "name": "market_negotiations_listing_idx", + "columns": [ + { + "expression": "listing_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_negotiations_buyer_idx": { + "name": "market_negotiations_buyer_idx", + "columns": [ + { + "expression": "buyer_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_negotiations_status_idx": { + "name": "market_negotiations_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_negotiations_updated_at_idx": { + "name": "market_negotiations_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_negotiations_created_at_idx": { + "name": "market_negotiations_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "market_negotiations_listing_id_market_listings_id_fk": { + "name": "market_negotiations_listing_id_market_listings_id_fk", + "tableFrom": "market_negotiations", + "tableTo": "market_listings", + "columnsFrom": [ + "listing_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "market_negotiations_buyer_id_users_id_fk": { + "name": "market_negotiations_buyer_id_users_id_fk", + "tableFrom": "market_negotiations", + "tableTo": "users", + "columnsFrom": [ + "buyer_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.market_state": { + "name": "market_state", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "item_type": { + "name": "item_type", + "type": "enum_market_state_item_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "item_id": { + "name": "item_id", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "gm_baseline_supply": { + "name": "gm_baseline_supply", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 100 + }, + "gm_baseline_demand": { + "name": "gm_baseline_demand", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 50 + }, + "current_supply": { + "name": "current_supply", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 100 + }, + "artificial_demand": { + "name": "artificial_demand", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 50 + }, + "real_demand": { + "name": "real_demand", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 0 + }, + "price_modifier": { + "name": "price_modifier", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "last_computed_at": { + "name": "last_computed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "market_state_item_type_idx": { + "name": "market_state_item_type_idx", + "columns": [ + { + "expression": "item_type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_state_item_id_idx": { + "name": "market_state_item_id_idx", + "columns": [ + { + "expression": "item_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_state_updated_at_idx": { + "name": "market_state_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "market_state_created_at_idx": { + "name": "market_state_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "itemType_itemId_idx": { + "name": "itemType_itemId_idx", + "columns": [ + { + "expression": "item_type", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "item_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.voice_scripts": { + "name": "voice_scripts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "script": { + "name": "script", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "xp_amount": { + "name": "xp_amount", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 250 + }, + "spoiler": { + "name": "spoiler", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "status": { + "name": "status", + "type": "enum_voice_scripts_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'draft'" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "voice_scripts_updated_at_idx": { + "name": "voice_scripts_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "voice_scripts_created_at_idx": { + "name": "voice_scripts_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.voice_submissions": { + "name": "voice_submissions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "script_id": { + "name": "script_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_voice_submissions_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "review_note": { + "name": "review_note", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "thumbnail_u_r_l": { + "name": "thumbnail_u_r_l", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filename": { + "name": "filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "mime_type": { + "name": "mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filesize": { + "name": "filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_x": { + "name": "focal_x", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_y": { + "name": "focal_y", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "voice_submissions_script_idx": { + "name": "voice_submissions_script_idx", + "columns": [ + { + "expression": "script_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "voice_submissions_user_idx": { + "name": "voice_submissions_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "voice_submissions_updated_at_idx": { + "name": "voice_submissions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "voice_submissions_created_at_idx": { + "name": "voice_submissions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "voice_submissions_filename_idx": { + "name": "voice_submissions_filename_idx", + "columns": [ + { + "expression": "filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "voice_submissions_script_id_voice_scripts_id_fk": { + "name": "voice_submissions_script_id_voice_scripts_id_fk", + "tableFrom": "voice_submissions", + "tableTo": "voice_scripts", + "columnsFrom": [ + "script_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "voice_submissions_user_id_users_id_fk": { + "name": "voice_submissions_user_id_users_id_fk", + "tableFrom": "voice_submissions", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.tickets_activity": { + "name": "tickets_activity", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_tickets_activity_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'system'" + }, + "content": { + "name": "content", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "author_id": { + "name": "author_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "tickets_activity_order_idx": { + "name": "tickets_activity_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_activity_parent_id_idx": { + "name": "tickets_activity_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_activity_author_idx": { + "name": "tickets_activity_author_idx", + "columns": [ + { + "expression": "author_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "tickets_activity_author_id_users_id_fk": { + "name": "tickets_activity_author_id_users_id_fk", + "tableFrom": "tickets_activity", + "tableTo": "users", + "columnsFrom": [ + "author_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "tickets_activity_parent_id_fk": { + "name": "tickets_activity_parent_id_fk", + "tableFrom": "tickets_activity", + "tableTo": "tickets", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.tickets_edit_history": { + "name": "tickets_edit_history", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "before": { + "name": "before", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "after": { + "name": "after", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "edited_by_id": { + "name": "edited_by_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "edited_at": { + "name": "edited_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "tickets_edit_history_order_idx": { + "name": "tickets_edit_history_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_edit_history_parent_id_idx": { + "name": "tickets_edit_history_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_edit_history_edited_by_idx": { + "name": "tickets_edit_history_edited_by_idx", + "columns": [ + { + "expression": "edited_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "tickets_edit_history_edited_by_id_users_id_fk": { + "name": "tickets_edit_history_edited_by_id_users_id_fk", + "tableFrom": "tickets_edit_history", + "tableTo": "users", + "columnsFrom": [ + "edited_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "tickets_edit_history_parent_id_fk": { + "name": "tickets_edit_history_parent_id_fk", + "tableFrom": "tickets_edit_history", + "tableTo": "tickets", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.tickets": { + "name": "tickets", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "category": { + "name": "category", + "type": "enum_tickets_category", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'support_request'" + }, + "priority": { + "name": "priority", + "type": "enum_tickets_priority", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'medium'" + }, + "status": { + "name": "status", + "type": "enum_tickets_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'open'" + }, + "reporter_id": { + "name": "reporter_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "assignee_id": { + "name": "assignee_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "closed_at": { + "name": "closed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "project_id": { + "name": "project_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "sprint_id": { + "name": "sprint_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "release_id": { + "name": "release_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_ticket_id": { + "name": "parent_ticket_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "type": { + "name": "type", + "type": "enum_tickets_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'task'" + }, + "story_points": { + "name": "story_points", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "estimate": { + "name": "estimate", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "start_date": { + "name": "start_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "due_date": { + "name": "due_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "resolution": { + "name": "resolution", + "type": "enum_tickets_resolution", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "tickets_category_idx": { + "name": "tickets_category_idx", + "columns": [ + { + "expression": "category", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_priority_idx": { + "name": "tickets_priority_idx", + "columns": [ + { + "expression": "priority", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_status_idx": { + "name": "tickets_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_reporter_idx": { + "name": "tickets_reporter_idx", + "columns": [ + { + "expression": "reporter_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_assignee_idx": { + "name": "tickets_assignee_idx", + "columns": [ + { + "expression": "assignee_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_project_idx": { + "name": "tickets_project_idx", + "columns": [ + { + "expression": "project_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_sprint_idx": { + "name": "tickets_sprint_idx", + "columns": [ + { + "expression": "sprint_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_release_idx": { + "name": "tickets_release_idx", + "columns": [ + { + "expression": "release_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_parent_ticket_idx": { + "name": "tickets_parent_ticket_idx", + "columns": [ + { + "expression": "parent_ticket_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_updated_at_idx": { + "name": "tickets_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_created_at_idx": { + "name": "tickets_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "tickets_reporter_id_users_id_fk": { + "name": "tickets_reporter_id_users_id_fk", + "tableFrom": "tickets", + "tableTo": "users", + "columnsFrom": [ + "reporter_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "tickets_assignee_id_users_id_fk": { + "name": "tickets_assignee_id_users_id_fk", + "tableFrom": "tickets", + "tableTo": "users", + "columnsFrom": [ + "assignee_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "tickets_project_id_projects_id_fk": { + "name": "tickets_project_id_projects_id_fk", + "tableFrom": "tickets", + "tableTo": "projects", + "columnsFrom": [ + "project_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "tickets_sprint_id_sprints_id_fk": { + "name": "tickets_sprint_id_sprints_id_fk", + "tableFrom": "tickets", + "tableTo": "sprints", + "columnsFrom": [ + "sprint_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "tickets_release_id_releases_id_fk": { + "name": "tickets_release_id_releases_id_fk", + "tableFrom": "tickets", + "tableTo": "releases", + "columnsFrom": [ + "release_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "tickets_parent_ticket_id_tickets_id_fk": { + "name": "tickets_parent_ticket_id_tickets_id_fk", + "tableFrom": "tickets", + "tableTo": "tickets", + "columnsFrom": [ + "parent_ticket_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.tickets_rels": { + "name": "tickets_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "labels_id": { + "name": "labels_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "tickets_rels_order_idx": { + "name": "tickets_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_rels_parent_idx": { + "name": "tickets_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_rels_path_idx": { + "name": "tickets_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tickets_rels_labels_id_idx": { + "name": "tickets_rels_labels_id_idx", + "columns": [ + { + "expression": "labels_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "tickets_rels_parent_fk": { + "name": "tickets_rels_parent_fk", + "tableFrom": "tickets_rels", + "tableTo": "tickets", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "tickets_rels_labels_fk": { + "name": "tickets_rels_labels_fk", + "tableFrom": "tickets_rels", + "tableTo": "labels", + "columnsFrom": [ + "labels_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.ticket_votes": { + "name": "ticket_votes", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "ticket_id": { + "name": "ticket_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "ticket_votes_ticket_idx": { + "name": "ticket_votes_ticket_idx", + "columns": [ + { + "expression": "ticket_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ticket_votes_user_idx": { + "name": "ticket_votes_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ticket_votes_updated_at_idx": { + "name": "ticket_votes_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ticket_votes_created_at_idx": { + "name": "ticket_votes_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "ticket_user_idx": { + "name": "ticket_user_idx", + "columns": [ + { + "expression": "ticket_id", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "ticket_votes_ticket_id_tickets_id_fk": { + "name": "ticket_votes_ticket_id_tickets_id_fk", + "tableFrom": "ticket_votes", + "tableTo": "tickets", + "columnsFrom": [ + "ticket_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "ticket_votes_user_id_users_id_fk": { + "name": "ticket_votes_user_id_users_id_fk", + "tableFrom": "ticket_votes", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.wiki_pages": { + "name": "wiki_pages", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "category": { + "name": "category", + "type": "enum_wiki_pages_category", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "body": { + "name": "body", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "lockdown": { + "name": "lockdown", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "locked_by_id": { + "name": "locked_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "locked_at": { + "name": "locked_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "last_editor_id": { + "name": "last_editor_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "wiki_pages_slug_idx": { + "name": "wiki_pages_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_pages_category_idx": { + "name": "wiki_pages_category_idx", + "columns": [ + { + "expression": "category", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_pages_locked_by_idx": { + "name": "wiki_pages_locked_by_idx", + "columns": [ + { + "expression": "locked_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_pages_last_editor_idx": { + "name": "wiki_pages_last_editor_idx", + "columns": [ + { + "expression": "last_editor_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_pages_updated_at_idx": { + "name": "wiki_pages_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_pages_created_at_idx": { + "name": "wiki_pages_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "wiki_pages_locked_by_id_users_id_fk": { + "name": "wiki_pages_locked_by_id_users_id_fk", + "tableFrom": "wiki_pages", + "tableTo": "users", + "columnsFrom": [ + "locked_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "wiki_pages_last_editor_id_users_id_fk": { + "name": "wiki_pages_last_editor_id_users_id_fk", + "tableFrom": "wiki_pages", + "tableTo": "users", + "columnsFrom": [ + "last_editor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.wiki_pages_texts": { + "name": "wiki_pages_texts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "text": { + "name": "text", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "wiki_pages_texts_order_parent": { + "name": "wiki_pages_texts_order_parent", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "wiki_pages_texts_parent_fk": { + "name": "wiki_pages_texts_parent_fk", + "tableFrom": "wiki_pages_texts", + "tableTo": "wiki_pages", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.wiki_revisions": { + "name": "wiki_revisions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "page_id": { + "name": "page_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "revision_number": { + "name": "revision_number", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "title_snapshot": { + "name": "title_snapshot", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "content_snapshot": { + "name": "content_snapshot", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "editor_id": { + "name": "editor_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "type": { + "name": "type", + "type": "enum_wiki_revisions_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "restored_from_revision": { + "name": "restored_from_revision", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "wiki_revisions_page_idx": { + "name": "wiki_revisions_page_idx", + "columns": [ + { + "expression": "page_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_revisions_editor_idx": { + "name": "wiki_revisions_editor_idx", + "columns": [ + { + "expression": "editor_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_revisions_updated_at_idx": { + "name": "wiki_revisions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_revisions_created_at_idx": { + "name": "wiki_revisions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "wiki_revisions_page_id_wiki_pages_id_fk": { + "name": "wiki_revisions_page_id_wiki_pages_id_fk", + "tableFrom": "wiki_revisions", + "tableTo": "wiki_pages", + "columnsFrom": [ + "page_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "wiki_revisions_editor_id_users_id_fk": { + "name": "wiki_revisions_editor_id_users_id_fk", + "tableFrom": "wiki_revisions", + "tableTo": "users", + "columnsFrom": [ + "editor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.wiki_templates": { + "name": "wiki_templates", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "body": { + "name": "body", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "css": { + "name": "css", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "html": { + "name": "html", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "wiki_templates_name_idx": { + "name": "wiki_templates_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_templates_updated_at_idx": { + "name": "wiki_templates_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "wiki_templates_created_at_idx": { + "name": "wiki_templates_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.projects": { + "name": "projects", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "lead_id": { + "name": "lead_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_projects_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'active'" + }, + "default_assignee_id": { + "name": "default_assignee_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "projects_key_idx": { + "name": "projects_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "projects_lead_idx": { + "name": "projects_lead_idx", + "columns": [ + { + "expression": "lead_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "projects_default_assignee_idx": { + "name": "projects_default_assignee_idx", + "columns": [ + { + "expression": "default_assignee_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "projects_updated_at_idx": { + "name": "projects_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "projects_created_at_idx": { + "name": "projects_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "projects_lead_id_users_id_fk": { + "name": "projects_lead_id_users_id_fk", + "tableFrom": "projects", + "tableTo": "users", + "columnsFrom": [ + "lead_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "projects_default_assignee_id_users_id_fk": { + "name": "projects_default_assignee_id_users_id_fk", + "tableFrom": "projects", + "tableTo": "users", + "columnsFrom": [ + "default_assignee_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.sprints": { + "name": "sprints", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "project_id": { + "name": "project_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "goal": { + "name": "goal", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "start_date": { + "name": "start_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "end_date": { + "name": "end_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_sprints_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'planning'" + }, + "capacity": { + "name": "capacity", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "sprints_project_idx": { + "name": "sprints_project_idx", + "columns": [ + { + "expression": "project_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "sprints_updated_at_idx": { + "name": "sprints_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "sprints_created_at_idx": { + "name": "sprints_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "sprints_project_id_projects_id_fk": { + "name": "sprints_project_id_projects_id_fk", + "tableFrom": "sprints", + "tableTo": "projects", + "columnsFrom": [ + "project_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.releases": { + "name": "releases", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "project_id": { + "name": "project_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_releases_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "release_date": { + "name": "release_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "target_version": { + "name": "target_version", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "releases_project_idx": { + "name": "releases_project_idx", + "columns": [ + { + "expression": "project_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "releases_updated_at_idx": { + "name": "releases_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "releases_created_at_idx": { + "name": "releases_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "releases_project_id_projects_id_fk": { + "name": "releases_project_id_projects_id_fk", + "tableFrom": "releases", + "tableTo": "projects", + "columnsFrom": [ + "project_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.labels": { + "name": "labels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "color": { + "name": "color", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'#6366f1'" + }, + "project_id": { + "name": "project_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "labels_project_idx": { + "name": "labels_project_idx", + "columns": [ + { + "expression": "project_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "labels_updated_at_idx": { + "name": "labels_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "labels_created_at_idx": { + "name": "labels_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "labels_project_id_projects_id_fk": { + "name": "labels_project_id_projects_id_fk", + "tableFrom": "labels", + "tableTo": "projects", + "columnsFrom": [ + "project_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.maps": { + "name": "maps", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "world_size_width": { + "name": "world_size_width", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 8192 + }, + "world_size_height": { + "name": "world_size_height", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 8192 + }, + "basemap_mode": { + "name": "basemap_mode", + "type": "enum_maps_basemap_mode", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'image'" + }, + "basemap_image_id": { + "name": "basemap_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "tile_url_template": { + "name": "tile_url_template", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "min_zoom": { + "name": "min_zoom", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "max_zoom": { + "name": "max_zoom", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 12 + }, + "default_center_x": { + "name": "default_center_x", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "default_center_y": { + "name": "default_center_y", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "default_zoom": { + "name": "default_zoom", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 2 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "maps_name_idx": { + "name": "maps_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "maps_basemap_image_idx": { + "name": "maps_basemap_image_idx", + "columns": [ + { + "expression": "basemap_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "maps_updated_at_idx": { + "name": "maps_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "maps_created_at_idx": { + "name": "maps_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "maps_basemap_image_id_media_id_fk": { + "name": "maps_basemap_image_id_media_id_fk", + "tableFrom": "maps", + "tableTo": "media", + "columnsFrom": [ + "basemap_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.map_roads": { + "name": "map_roads", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "map_id": { + "name": "map_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "surface": { + "name": "surface", + "type": "enum_map_roads_surface", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'paved'" + }, + "speed_multiplier": { + "name": "speed_multiplier", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "stroke_color": { + "name": "stroke_color", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "stroke_weight": { + "name": "stroke_weight", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 2 + }, + "stroke_style": { + "name": "stroke_style", + "type": "enum_map_roads_stroke_style", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'solid'" + }, + "label_visible": { + "name": "label_visible", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "points": { + "name": "points", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "map_roads_map_idx": { + "name": "map_roads_map_idx", + "columns": [ + { + "expression": "map_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "map_roads_updated_at_idx": { + "name": "map_roads_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "map_roads_created_at_idx": { + "name": "map_roads_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "map_roads_map_id_maps_id_fk": { + "name": "map_roads_map_id_maps_id_fk", + "tableFrom": "map_roads", + "tableTo": "maps", + "columnsFrom": [ + "map_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.map_zones": { + "name": "map_zones", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "map_id": { + "name": "map_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_map_zones_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "fill_color": { + "name": "fill_color", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "stroke_color": { + "name": "stroke_color", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "fill_opacity": { + "name": "fill_opacity", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "stroke_weight": { + "name": "stroke_weight", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "label_visible": { + "name": "label_visible", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "points": { + "name": "points", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "map_zones_map_idx": { + "name": "map_zones_map_idx", + "columns": [ + { + "expression": "map_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "map_zones_updated_at_idx": { + "name": "map_zones_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "map_zones_created_at_idx": { + "name": "map_zones_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "map_zones_map_id_maps_id_fk": { + "name": "map_zones_map_id_maps_id_fk", + "tableFrom": "map_zones", + "tableTo": "maps", + "columnsFrom": [ + "map_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.map_zones_rels": { + "name": "map_zones_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "map_zones_rels_order_idx": { + "name": "map_zones_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "map_zones_rels_parent_idx": { + "name": "map_zones_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "map_zones_rels_path_idx": { + "name": "map_zones_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "map_zones_rels_resources_id_idx": { + "name": "map_zones_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "map_zones_rels_parent_fk": { + "name": "map_zones_rels_parent_fk", + "tableFrom": "map_zones_rels", + "tableTo": "map_zones", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "map_zones_rels_resources_fk": { + "name": "map_zones_rels_resources_fk", + "tableFrom": "map_zones_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.resource_nodes": { + "name": "resource_nodes", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "map_id": { + "name": "map_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "position": { + "name": "position", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "richness": { + "name": "richness", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 100 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "resource_nodes_map_idx": { + "name": "resource_nodes_map_idx", + "columns": [ + { + "expression": "map_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resource_nodes_updated_at_idx": { + "name": "resource_nodes_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resource_nodes_created_at_idx": { + "name": "resource_nodes_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "resource_nodes_map_id_maps_id_fk": { + "name": "resource_nodes_map_id_maps_id_fk", + "tableFrom": "resource_nodes", + "tableTo": "maps", + "columnsFrom": [ + "map_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.resource_nodes_rels": { + "name": "resource_nodes_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "resource_nodes_rels_order_idx": { + "name": "resource_nodes_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resource_nodes_rels_parent_idx": { + "name": "resource_nodes_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resource_nodes_rels_path_idx": { + "name": "resource_nodes_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resource_nodes_rels_resources_id_idx": { + "name": "resource_nodes_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "resource_nodes_rels_parent_fk": { + "name": "resource_nodes_rels_parent_fk", + "tableFrom": "resource_nodes_rels", + "tableTo": "resource_nodes", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "resource_nodes_rels_resources_fk": { + "name": "resource_nodes_rels_resources_fk", + "tableFrom": "resource_nodes_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.narrative_events": { + "name": "narrative_events", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "flow_data": { + "name": "flow_data", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "triggers_type": { + "name": "triggers_type", + "type": "enum_narrative_events_triggers_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'manual'" + }, + "triggers_condition": { + "name": "triggers_condition", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "narrative_events_updated_at_idx": { + "name": "narrative_events_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "narrative_events_created_at_idx": { + "name": "narrative_events_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.story_beats": { + "name": "story_beats", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "occurred_at": { + "name": "occurred_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "order": { + "name": "order", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_story_beats_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'draft'" + }, + "body": { + "name": "body", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "mission_id": { + "name": "mission_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "story_beats_status_idx": { + "name": "story_beats_status_idx", + "columns": [ + { + "expression": "status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "story_beats_mission_idx": { + "name": "story_beats_mission_idx", + "columns": [ + { + "expression": "mission_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "story_beats_updated_at_idx": { + "name": "story_beats_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "story_beats_created_at_idx": { + "name": "story_beats_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "story_beats_mission_id_missions_id_fk": { + "name": "story_beats_mission_id_missions_id_fk", + "tableFrom": "story_beats", + "tableTo": "missions", + "columnsFrom": [ + "mission_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.story_beat_states": { + "name": "story_beat_states", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "beat_id": { + "name": "beat_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "read_at": { + "name": "read_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "reaction": { + "name": "reaction", + "type": "enum_story_beat_states_reaction", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "story_beat_states_user_idx": { + "name": "story_beat_states_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "story_beat_states_beat_idx": { + "name": "story_beat_states_beat_idx", + "columns": [ + { + "expression": "beat_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "story_beat_states_updated_at_idx": { + "name": "story_beat_states_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "story_beat_states_created_at_idx": { + "name": "story_beat_states_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "story_beat_states_user_id_users_id_fk": { + "name": "story_beat_states_user_id_users_id_fk", + "tableFrom": "story_beat_states", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "story_beat_states_beat_id_story_beats_id_fk": { + "name": "story_beat_states_beat_id_story_beats_id_fk", + "tableFrom": "story_beat_states", + "tableTo": "story_beats", + "columnsFrom": [ + "beat_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mission_files": { + "name": "mission_files", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "mission_file_name": { + "name": "mission_file_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "author_id": { + "name": "author_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "thumbnail_u_r_l": { + "name": "thumbnail_u_r_l", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filename": { + "name": "filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "mime_type": { + "name": "mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filesize": { + "name": "filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_x": { + "name": "focal_x", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_y": { + "name": "focal_y", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "mission_files_author_idx": { + "name": "mission_files_author_idx", + "columns": [ + { + "expression": "author_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_files_updated_at_idx": { + "name": "mission_files_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_files_created_at_idx": { + "name": "mission_files_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mission_files_filename_idx": { + "name": "mission_files_filename_idx", + "columns": [ + { + "expression": "filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "mission_files_author_id_users_id_fk": { + "name": "mission_files_author_id_users_id_fk", + "tableFrom": "mission_files", + "tableTo": "users", + "columnsFrom": [ + "author_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.mod_lists": { + "name": "mod_lists", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "modlist_name": { + "name": "modlist_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "author_id": { + "name": "author_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "thumbnail_u_r_l": { + "name": "thumbnail_u_r_l", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filename": { + "name": "filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "mime_type": { + "name": "mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filesize": { + "name": "filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_x": { + "name": "focal_x", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_y": { + "name": "focal_y", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "mod_lists_author_idx": { + "name": "mod_lists_author_idx", + "columns": [ + { + "expression": "author_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mod_lists_updated_at_idx": { + "name": "mod_lists_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mod_lists_created_at_idx": { + "name": "mod_lists_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "mod_lists_filename_idx": { + "name": "mod_lists_filename_idx", + "columns": [ + { + "expression": "filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "mod_lists_author_id_users_id_fk": { + "name": "mod_lists_author_id_users_id_fk", + "tableFrom": "mod_lists", + "tableTo": "users", + "columnsFrom": [ + "author_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_servers": { + "name": "game_servers", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "server_id": { + "name": "server_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "enum_game_servers_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'offline'" + }, + "last_seen_at": { + "name": "last_seen_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "metadata": { + "name": "metadata", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "game_servers_server_id_idx": { + "name": "game_servers_server_id_idx", + "columns": [ + { + "expression": "server_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_servers_updated_at_idx": { + "name": "game_servers_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_servers_created_at_idx": { + "name": "game_servers_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.arma_sync_events": { + "name": "arma_sync_events", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "event_id": { + "name": "event_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "server_id": { + "name": "server_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "occurred_at": { + "name": "occurred_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "payload": { + "name": "payload", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "arma_sync_events_event_id_idx": { + "name": "arma_sync_events_event_id_idx", + "columns": [ + { + "expression": "event_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "arma_sync_events_server_idx": { + "name": "arma_sync_events_server_idx", + "columns": [ + { + "expression": "server_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "arma_sync_events_type_idx": { + "name": "arma_sync_events_type_idx", + "columns": [ + { + "expression": "type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "arma_sync_events_updated_at_idx": { + "name": "arma_sync_events_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "arma_sync_events_created_at_idx": { + "name": "arma_sync_events_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "arma_sync_events_server_id_game_servers_id_fk": { + "name": "arma_sync_events_server_id_game_servers_id_fk", + "tableFrom": "arma_sync_events", + "tableTo": "game_servers", + "columnsFrom": [ + "server_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.arma_commands": { + "name": "arma_commands", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "command_id": { + "name": "command_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "server_id": { + "name": "server_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "payload": { + "name": "payload", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "enum_arma_commands_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'queued'" + }, + "result": { + "name": "result", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "error": { + "name": "error", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "delivered_at": { + "name": "delivered_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "completed_at": { + "name": "completed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "arma_commands_command_id_idx": { + "name": "arma_commands_command_id_idx", + "columns": [ + { + "expression": "command_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "arma_commands_server_idx": { + "name": "arma_commands_server_idx", + "columns": [ + { + "expression": "server_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "arma_commands_updated_at_idx": { + "name": "arma_commands_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "arma_commands_created_at_idx": { + "name": "arma_commands_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "arma_commands_server_id_game_servers_id_fk": { + "name": "arma_commands_server_id_game_servers_id_fk", + "tableFrom": "arma_commands", + "tableTo": "game_servers", + "columnsFrom": [ + "server_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.respawn_tickets": { + "name": "respawn_tickets", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "balance": { + "name": "balance", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "respawn_tickets_user_idx": { + "name": "respawn_tickets_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "respawn_tickets_updated_at_idx": { + "name": "respawn_tickets_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "respawn_tickets_created_at_idx": { + "name": "respawn_tickets_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "respawn_tickets_user_id_users_id_fk": { + "name": "respawn_tickets_user_id_users_id_fk", + "tableFrom": "respawn_tickets", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.operation_events": { + "name": "operation_events", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "source_event_id": { + "name": "source_event_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "event_id": { + "name": "event_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "operation_id": { + "name": "operation_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "version": { + "name": "version", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "status": { + "name": "status", + "type": "enum_operation_events_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'validated'" + }, + "error": { + "name": "error", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "payload_hash": { + "name": "payload_hash", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "actor_id": { + "name": "actor_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "server_id": { + "name": "server_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "mission_id": { + "name": "mission_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "occurred_at": { + "name": "occurred_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "validated_at": { + "name": "validated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "reconciliation_notes": { + "name": "reconciliation_notes", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "operation_events_source_event_idx": { + "name": "operation_events_source_event_idx", + "columns": [ + { + "expression": "source_event_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_events_event_id_idx": { + "name": "operation_events_event_id_idx", + "columns": [ + { + "expression": "event_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_events_operation_id_idx": { + "name": "operation_events_operation_id_idx", + "columns": [ + { + "expression": "operation_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_events_type_idx": { + "name": "operation_events_type_idx", + "columns": [ + { + "expression": "type", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_events_actor_idx": { + "name": "operation_events_actor_idx", + "columns": [ + { + "expression": "actor_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_events_server_idx": { + "name": "operation_events_server_idx", + "columns": [ + { + "expression": "server_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_events_mission_idx": { + "name": "operation_events_mission_idx", + "columns": [ + { + "expression": "mission_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_events_updated_at_idx": { + "name": "operation_events_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_events_created_at_idx": { + "name": "operation_events_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "operation_events_source_event_id_arma_sync_events_id_fk": { + "name": "operation_events_source_event_id_arma_sync_events_id_fk", + "tableFrom": "operation_events", + "tableTo": "arma_sync_events", + "columnsFrom": [ + "source_event_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_events_actor_id_users_id_fk": { + "name": "operation_events_actor_id_users_id_fk", + "tableFrom": "operation_events", + "tableTo": "users", + "columnsFrom": [ + "actor_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_events_server_id_game_servers_id_fk": { + "name": "operation_events_server_id_game_servers_id_fk", + "tableFrom": "operation_events", + "tableTo": "game_servers", + "columnsFrom": [ + "server_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_events_mission_id_missions_id_fk": { + "name": "operation_events_mission_id_missions_id_fk", + "tableFrom": "operation_events", + "tableTo": "missions", + "columnsFrom": [ + "mission_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.operation_effects": { + "name": "operation_effects", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "operation_event_id": { + "name": "operation_event_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "source_event_id": { + "name": "source_event_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "operation_id": { + "name": "operation_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "effect_key": { + "name": "effect_key", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "effect_type": { + "name": "effect_type", + "type": "enum_operation_effects_effect_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "enum_operation_effects_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'applied'" + }, + "payload": { + "name": "payload", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "reversal_of_id": { + "name": "reversal_of_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "reversed_by_id": { + "name": "reversed_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "reconciliation_notes": { + "name": "reconciliation_notes", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "applied_at": { + "name": "applied_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "operation_effects_operation_event_idx": { + "name": "operation_effects_operation_event_idx", + "columns": [ + { + "expression": "operation_event_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_effects_source_event_idx": { + "name": "operation_effects_source_event_idx", + "columns": [ + { + "expression": "source_event_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_effects_operation_id_idx": { + "name": "operation_effects_operation_id_idx", + "columns": [ + { + "expression": "operation_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_effects_effect_key_idx": { + "name": "operation_effects_effect_key_idx", + "columns": [ + { + "expression": "effect_key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_effects_reversal_of_idx": { + "name": "operation_effects_reversal_of_idx", + "columns": [ + { + "expression": "reversal_of_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_effects_reversed_by_idx": { + "name": "operation_effects_reversed_by_idx", + "columns": [ + { + "expression": "reversed_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_effects_updated_at_idx": { + "name": "operation_effects_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_effects_created_at_idx": { + "name": "operation_effects_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "operation_effects_operation_event_id_operation_events_id_fk": { + "name": "operation_effects_operation_event_id_operation_events_id_fk", + "tableFrom": "operation_effects", + "tableTo": "operation_events", + "columnsFrom": [ + "operation_event_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_effects_source_event_id_arma_sync_events_id_fk": { + "name": "operation_effects_source_event_id_arma_sync_events_id_fk", + "tableFrom": "operation_effects", + "tableTo": "arma_sync_events", + "columnsFrom": [ + "source_event_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_effects_reversal_of_id_operation_effects_id_fk": { + "name": "operation_effects_reversal_of_id_operation_effects_id_fk", + "tableFrom": "operation_effects", + "tableTo": "operation_effects", + "columnsFrom": [ + "reversal_of_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_effects_reversed_by_id_operation_effects_id_fk": { + "name": "operation_effects_reversed_by_id_operation_effects_id_fk", + "tableFrom": "operation_effects", + "tableTo": "operation_effects", + "columnsFrom": [ + "reversed_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.operation_reservations_personnel": { + "name": "operation_reservations_personnel", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "slot": { + "name": "slot", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "operation_reservations_personnel_order_idx": { + "name": "operation_reservations_personnel_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_personnel_parent_id_idx": { + "name": "operation_reservations_personnel_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_personnel_user_idx": { + "name": "operation_reservations_personnel_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "operation_reservations_personnel_user_id_users_id_fk": { + "name": "operation_reservations_personnel_user_id_users_id_fk", + "tableFrom": "operation_reservations_personnel", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_reservations_personnel_parent_id_fk": { + "name": "operation_reservations_personnel_parent_id_fk", + "tableFrom": "operation_reservations_personnel", + "tableTo": "operation_reservations", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.operation_reservations_vehicles": { + "name": "operation_reservations_vehicles", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "vehicle_id": { + "name": "vehicle_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "operation_reservations_vehicles_order_idx": { + "name": "operation_reservations_vehicles_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_vehicles_parent_id_idx": { + "name": "operation_reservations_vehicles_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_vehicles_vehicle_idx": { + "name": "operation_reservations_vehicles_vehicle_idx", + "columns": [ + { + "expression": "vehicle_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "operation_reservations_vehicles_vehicle_id_game_vehicles_id_fk": { + "name": "operation_reservations_vehicles_vehicle_id_game_vehicles_id_fk", + "tableFrom": "operation_reservations_vehicles", + "tableTo": "game_vehicles", + "columnsFrom": [ + "vehicle_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_reservations_vehicles_parent_id_fk": { + "name": "operation_reservations_vehicles_parent_id_fk", + "tableFrom": "operation_reservations_vehicles", + "tableTo": "operation_reservations", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.operation_reservations_cargo": { + "name": "operation_reservations_cargo", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "resource_id": { + "name": "resource_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "amount": { + "name": "amount", + "type": "numeric", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "operation_reservations_cargo_order_idx": { + "name": "operation_reservations_cargo_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_cargo_parent_id_idx": { + "name": "operation_reservations_cargo_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_cargo_resource_idx": { + "name": "operation_reservations_cargo_resource_idx", + "columns": [ + { + "expression": "resource_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "operation_reservations_cargo_resource_id_resources_id_fk": { + "name": "operation_reservations_cargo_resource_id_resources_id_fk", + "tableFrom": "operation_reservations_cargo", + "tableTo": "resources", + "columnsFrom": [ + "resource_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_reservations_cargo_parent_id_fk": { + "name": "operation_reservations_cargo_parent_id_fk", + "tableFrom": "operation_reservations_cargo", + "tableTo": "operation_reservations", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.operation_reservations": { + "name": "operation_reservations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "reservation_key": { + "name": "reservation_key", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "operation_id": { + "name": "operation_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "mission_id": { + "name": "mission_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_operation_reservations_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'reserved'" + }, + "budget_account_id": { + "name": "budget_account_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "budget_amount": { + "name": "budget_amount", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "origin_id": { + "name": "origin_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "destination_id": { + "name": "destination_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_by_id": { + "name": "created_by_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "settled_at": { + "name": "settled_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "settled_by_effect_id": { + "name": "settled_by_effect_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "settlement": { + "name": "settlement", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "operation_reservations_reservation_key_idx": { + "name": "operation_reservations_reservation_key_idx", + "columns": [ + { + "expression": "reservation_key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_operation_id_idx": { + "name": "operation_reservations_operation_id_idx", + "columns": [ + { + "expression": "operation_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_mission_idx": { + "name": "operation_reservations_mission_idx", + "columns": [ + { + "expression": "mission_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_budget_budget_account_idx": { + "name": "operation_reservations_budget_budget_account_idx", + "columns": [ + { + "expression": "budget_account_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_origin_idx": { + "name": "operation_reservations_origin_idx", + "columns": [ + { + "expression": "origin_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_destination_idx": { + "name": "operation_reservations_destination_idx", + "columns": [ + { + "expression": "destination_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_created_by_idx": { + "name": "operation_reservations_created_by_idx", + "columns": [ + { + "expression": "created_by_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_settled_by_effect_idx": { + "name": "operation_reservations_settled_by_effect_idx", + "columns": [ + { + "expression": "settled_by_effect_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_updated_at_idx": { + "name": "operation_reservations_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_reservations_created_at_idx": { + "name": "operation_reservations_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "operation_reservations_mission_id_missions_id_fk": { + "name": "operation_reservations_mission_id_missions_id_fk", + "tableFrom": "operation_reservations", + "tableTo": "missions", + "columnsFrom": [ + "mission_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_reservations_budget_account_id_bank_accounts_id_fk": { + "name": "operation_reservations_budget_account_id_bank_accounts_id_fk", + "tableFrom": "operation_reservations", + "tableTo": "bank_accounts", + "columnsFrom": [ + "budget_account_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_reservations_origin_id_game_structures_id_fk": { + "name": "operation_reservations_origin_id_game_structures_id_fk", + "tableFrom": "operation_reservations", + "tableTo": "game_structures", + "columnsFrom": [ + "origin_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_reservations_destination_id_game_structures_id_fk": { + "name": "operation_reservations_destination_id_game_structures_id_fk", + "tableFrom": "operation_reservations", + "tableTo": "game_structures", + "columnsFrom": [ + "destination_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_reservations_created_by_id_users_id_fk": { + "name": "operation_reservations_created_by_id_users_id_fk", + "tableFrom": "operation_reservations", + "tableTo": "users", + "columnsFrom": [ + "created_by_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "operation_reservations_settled_by_effect_id_operation_effects_id_fk": { + "name": "operation_reservations_settled_by_effect_id_operation_effects_id_fk", + "tableFrom": "operation_reservations", + "tableTo": "operation_effects", + "columnsFrom": [ + "settled_by_effect_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.operation_readiness": { + "name": "operation_readiness", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "subject_type": { + "name": "subject_type", + "type": "enum_operation_readiness_subject_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "subject_id": { + "name": "subject_id", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "subject_label": { + "name": "subject_label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "window_start": { + "name": "window_start", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "window_end": { + "name": "window_end", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "window_label": { + "name": "window_label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "operation_id": { + "name": "operation_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "calculation_version": { + "name": "calculation_version", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'1.0.0'" + }, + "nature": { + "name": "nature", + "type": "enum_operation_readiness_nature", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'advisory'" + }, + "readiness_score": { + "name": "readiness_score", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "planning_confidence_score": { + "name": "planning_confidence_score", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "contributing_categories": { + "name": "contributing_categories", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "input_count": { + "name": "input_count", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "explanation": { + "name": "explanation", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "recomputed_at": { + "name": "recomputed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "operation_readiness_updated_at_idx": { + "name": "operation_readiness_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "operation_readiness_created_at_idx": { + "name": "operation_readiness_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.zone_pressure": { + "name": "zone_pressure", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "zone_id": { + "name": "zone_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "faction_id": { + "name": "faction_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "operation_id": { + "name": "operation_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "mission_id": { + "name": "mission_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "source_effect_id": { + "name": "source_effect_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "delta": { + "name": "delta", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "note": { + "name": "note", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "zone_pressure_zone_idx": { + "name": "zone_pressure_zone_idx", + "columns": [ + { + "expression": "zone_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "zone_pressure_faction_idx": { + "name": "zone_pressure_faction_idx", + "columns": [ + { + "expression": "faction_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "zone_pressure_operation_id_idx": { + "name": "zone_pressure_operation_id_idx", + "columns": [ + { + "expression": "operation_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "zone_pressure_mission_idx": { + "name": "zone_pressure_mission_idx", + "columns": [ + { + "expression": "mission_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "zone_pressure_source_effect_idx": { + "name": "zone_pressure_source_effect_idx", + "columns": [ + { + "expression": "source_effect_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "zone_pressure_updated_at_idx": { + "name": "zone_pressure_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "zone_pressure_created_at_idx": { + "name": "zone_pressure_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "zone_pressure_zone_id_map_zones_id_fk": { + "name": "zone_pressure_zone_id_map_zones_id_fk", + "tableFrom": "zone_pressure", + "tableTo": "map_zones", + "columnsFrom": [ + "zone_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "zone_pressure_faction_id_factions_id_fk": { + "name": "zone_pressure_faction_id_factions_id_fk", + "tableFrom": "zone_pressure", + "tableTo": "factions", + "columnsFrom": [ + "faction_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "zone_pressure_mission_id_missions_id_fk": { + "name": "zone_pressure_mission_id_missions_id_fk", + "tableFrom": "zone_pressure", + "tableTo": "missions", + "columnsFrom": [ + "mission_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "zone_pressure_source_effect_id_operation_effects_id_fk": { + "name": "zone_pressure_source_effect_id_operation_effects_id_fk", + "tableFrom": "zone_pressure", + "tableTo": "operation_effects", + "columnsFrom": [ + "source_effect_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.custom_minefields": { + "name": "custom_minefields", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "author_id": { + "name": "author_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "rows": { + "name": "rows", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "cols": { + "name": "cols", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "mines": { + "name": "mines", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "mine_count": { + "name": "mine_count", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "published": { + "name": "published", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "expose_edge_mines": { + "name": "expose_edge_mines", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "play_count": { + "name": "play_count", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "creator_xp_bank": { + "name": "creator_xp_bank", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "custom_minefields_author_idx": { + "name": "custom_minefields_author_idx", + "columns": [ + { + "expression": "author_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_minefields_updated_at_idx": { + "name": "custom_minefields_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_minefields_created_at_idx": { + "name": "custom_minefields_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "custom_minefields_author_id_users_id_fk": { + "name": "custom_minefields_author_id_users_id_fk", + "tableFrom": "custom_minefields", + "tableTo": "users", + "columnsFrom": [ + "author_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.custom_minefield_scores": { + "name": "custom_minefield_scores", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "minefield_id": { + "name": "minefield_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "seconds": { + "name": "seconds", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "flags": { + "name": "flags", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "won": { + "name": "won", + "type": "boolean", + "primaryKey": false, + "notNull": true, + "default": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "custom_minefield_scores_minefield_idx": { + "name": "custom_minefield_scores_minefield_idx", + "columns": [ + { + "expression": "minefield_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_minefield_scores_user_idx": { + "name": "custom_minefield_scores_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_minefield_scores_updated_at_idx": { + "name": "custom_minefield_scores_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_minefield_scores_created_at_idx": { + "name": "custom_minefield_scores_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "custom_minefield_scores_minefield_id_custom_minefields_id_fk": { + "name": "custom_minefield_scores_minefield_id_custom_minefields_id_fk", + "tableFrom": "custom_minefield_scores", + "tableTo": "custom_minefields", + "columnsFrom": [ + "minefield_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "custom_minefield_scores_user_id_users_id_fk": { + "name": "custom_minefield_scores_user_id_users_id_fk", + "tableFrom": "custom_minefield_scores", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.custom_radio_tests": { + "name": "custom_radio_tests", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "author_id": { + "name": "author_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "messages": { + "name": "messages", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "message_count": { + "name": "message_count", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "order": { + "name": "order", + "type": "enum_custom_radio_tests_order", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'fixed'" + }, + "published": { + "name": "published", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "play_count": { + "name": "play_count", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "custom_radio_tests_author_idx": { + "name": "custom_radio_tests_author_idx", + "columns": [ + { + "expression": "author_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_radio_tests_updated_at_idx": { + "name": "custom_radio_tests_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_radio_tests_created_at_idx": { + "name": "custom_radio_tests_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "custom_radio_tests_author_id_users_id_fk": { + "name": "custom_radio_tests_author_id_users_id_fk", + "tableFrom": "custom_radio_tests", + "tableTo": "users", + "columnsFrom": [ + "author_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.custom_radio_test_scores": { + "name": "custom_radio_test_scores", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "test_id": { + "name": "test_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "score": { + "name": "score", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "accuracy": { + "name": "accuracy", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "correct_messages": { + "name": "correct_messages", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "incorrect_messages": { + "name": "incorrect_messages", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "mode": { + "name": "mode", + "type": "enum_custom_radio_test_scores_mode", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "time_ms": { + "name": "time_ms", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "custom_radio_test_scores_test_idx": { + "name": "custom_radio_test_scores_test_idx", + "columns": [ + { + "expression": "test_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_radio_test_scores_user_idx": { + "name": "custom_radio_test_scores_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_radio_test_scores_updated_at_idx": { + "name": "custom_radio_test_scores_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "custom_radio_test_scores_created_at_idx": { + "name": "custom_radio_test_scores_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "custom_radio_test_scores_test_id_custom_radio_tests_id_fk": { + "name": "custom_radio_test_scores_test_id_custom_radio_tests_id_fk", + "tableFrom": "custom_radio_test_scores", + "tableTo": "custom_radio_tests", + "columnsFrom": [ + "test_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "custom_radio_test_scores_user_id_users_id_fk": { + "name": "custom_radio_test_scores_user_id_users_id_fk", + "tableFrom": "custom_radio_test_scores", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.plugin_ai_instructions_images": { + "name": "plugin_ai_instructions_images", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "plugin_ai_instructions_images_order_idx": { + "name": "plugin_ai_instructions_images_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "plugin_ai_instructions_images_parent_id_idx": { + "name": "plugin_ai_instructions_images_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "plugin_ai_instructions_images_image_idx": { + "name": "plugin_ai_instructions_images_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "plugin_ai_instructions_images_image_id_media_id_fk": { + "name": "plugin_ai_instructions_images_image_id_media_id_fk", + "tableFrom": "plugin_ai_instructions_images", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "plugin_ai_instructions_images_parent_id_fk": { + "name": "plugin_ai_instructions_images_parent_id_fk", + "tableFrom": "plugin_ai_instructions_images", + "tableTo": "plugin_ai_instructions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.plugin_ai_instructions": { + "name": "plugin_ai_instructions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "schema_path": { + "name": "schema_path", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "field_type": { + "name": "field_type", + "type": "enum_plugin_ai_instructions_field_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'text'" + }, + "relation_to": { + "name": "relation_to", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "model_id": { + "name": "model_id", + "type": "enum_plugin_ai_instructions_model_id", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "disabled": { + "name": "disabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "prompt": { + "name": "prompt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "system": { + "name": "system", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'INSTRUCTIONS:\nYou are a highly skilled and professional blog writer,\nrenowned for crafting engaging and well-organized articles.\nWhen given a title, you meticulously create blogs that are not only\ninformative and accurate but also captivating and beautifully structured.'" + }, + "layout": { + "name": "layout", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'[paragraph] - Write a concise introduction (2-3 sentences) that outlines the main topic.\n[horizontalrule] - Insert a horizontal rule to separate the introduction from the main content.\n[list] - Create a list with 3-5 items. Each list item should contain:\n a. [heading] - A brief, descriptive heading (up to 5 words)\n b. [paragraph] - A short explanation or elaboration (1-2 sentences)\n[horizontalrule] - Insert another horizontal rule to separate the main content from the conclusion.\n[paragraph] - Compose a brief conclusion (2-3 sentences) summarizing the key points.\n[quote] - Include a relevant quote from a famous person, directly related to the topic. Format: \"Quote text.\" - Author Name'" + }, + "unsloth_text_settings_model": { + "name": "unsloth_text_settings_model", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'unsloth/gemma-4-E4B-it-qat-GGUF'" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "plugin_ai_instructions_schema_path_idx": { + "name": "plugin_ai_instructions_schema_path_idx", + "columns": [ + { + "expression": "schema_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "plugin_ai_instructions_updated_at_idx": { + "name": "plugin_ai_instructions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "plugin_ai_instructions_created_at_idx": { + "name": "plugin_ai_instructions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_mcp_api_keys": { + "name": "payload_mcp_api_keys", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "media_find": { + "name": "media_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "media_create": { + "name": "media_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "media_update": { + "name": "media_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "media_delete": { + "name": "media_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_hard_resources_find": { + "name": "game_hard_resources_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_hard_resources_create": { + "name": "game_hard_resources_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_hard_resources_update": { + "name": "game_hard_resources_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_hard_resources_delete": { + "name": "game_hard_resources_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_structures_find": { + "name": "game_structures_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_structures_create": { + "name": "game_structures_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_structures_update": { + "name": "game_structures_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_structures_delete": { + "name": "game_structures_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_vehicles_find": { + "name": "game_vehicles_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_vehicles_create": { + "name": "game_vehicles_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_vehicles_update": { + "name": "game_vehicles_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_vehicles_delete": { + "name": "game_vehicles_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_npcs_find": { + "name": "game_npcs_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_npcs_create": { + "name": "game_npcs_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_npcs_update": { + "name": "game_npcs_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_npcs_delete": { + "name": "game_npcs_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "npc_staffing_find": { + "name": "npc_staffing_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "npc_staffing_create": { + "name": "npc_staffing_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "npc_staffing_update": { + "name": "npc_staffing_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "npc_staffing_delete": { + "name": "npc_staffing_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "labor_classifications_find": { + "name": "labor_classifications_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "labor_classifications_create": { + "name": "labor_classifications_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "labor_classifications_update": { + "name": "labor_classifications_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "labor_classifications_delete": { + "name": "labor_classifications_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_event_logs_find": { + "name": "game_event_logs_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_event_logs_create": { + "name": "game_event_logs_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_event_logs_update": { + "name": "game_event_logs_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_event_logs_delete": { + "name": "game_event_logs_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "users_find": { + "name": "users_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "users_create": { + "name": "users_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "users_update": { + "name": "users_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "users_delete": { + "name": "users_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "roles_find": { + "name": "roles_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "roles_create": { + "name": "roles_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "roles_update": { + "name": "roles_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "roles_delete": { + "name": "roles_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ranks_find": { + "name": "ranks_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ranks_create": { + "name": "ranks_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ranks_update": { + "name": "ranks_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ranks_delete": { + "name": "ranks_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "profiles_find": { + "name": "profiles_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "profiles_create": { + "name": "profiles_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "profiles_update": { + "name": "profiles_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "profiles_delete": { + "name": "profiles_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "awards_find": { + "name": "awards_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "awards_create": { + "name": "awards_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "awards_update": { + "name": "awards_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "awards_delete": { + "name": "awards_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "qualifications_find": { + "name": "qualifications_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "qualifications_create": { + "name": "qualifications_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "qualifications_update": { + "name": "qualifications_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "qualifications_delete": { + "name": "qualifications_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assignments_find": { + "name": "assignments_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assignments_create": { + "name": "assignments_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assignments_update": { + "name": "assignments_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assignments_delete": { + "name": "assignments_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assignment_transfers_find": { + "name": "assignment_transfers_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assignment_transfers_create": { + "name": "assignment_transfers_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assignment_transfers_update": { + "name": "assignment_transfers_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assignment_transfers_delete": { + "name": "assignment_transfers_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "experience_find": { + "name": "experience_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "experience_create": { + "name": "experience_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "experience_update": { + "name": "experience_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "experience_delete": { + "name": "experience_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "user_notifications_find": { + "name": "user_notifications_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "user_notifications_create": { + "name": "user_notifications_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "user_notifications_update": { + "name": "user_notifications_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "user_notifications_delete": { + "name": "user_notifications_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "evaluations_find": { + "name": "evaluations_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "evaluations_create": { + "name": "evaluations_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "evaluations_update": { + "name": "evaluations_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "evaluations_delete": { + "name": "evaluations_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ribbon_submissions_find": { + "name": "ribbon_submissions_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ribbon_submissions_create": { + "name": "ribbon_submissions_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ribbon_submissions_update": { + "name": "ribbon_submissions_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ribbon_submissions_delete": { + "name": "ribbon_submissions_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "missions_find": { + "name": "missions_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "missions_create": { + "name": "missions_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "missions_update": { + "name": "missions_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "missions_delete": { + "name": "missions_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mission_attendances_find": { + "name": "mission_attendances_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mission_attendances_create": { + "name": "mission_attendances_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mission_attendances_update": { + "name": "mission_attendances_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mission_attendances_delete": { + "name": "mission_attendances_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "campaigns_find": { + "name": "campaigns_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "campaigns_create": { + "name": "campaigns_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "campaigns_update": { + "name": "campaigns_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "campaigns_delete": { + "name": "campaigns_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "factions_find": { + "name": "factions_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "factions_create": { + "name": "factions_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "factions_update": { + "name": "factions_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "factions_delete": { + "name": "factions_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "technologies_find": { + "name": "technologies_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "technologies_create": { + "name": "technologies_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "technologies_update": { + "name": "technologies_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "technologies_delete": { + "name": "technologies_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assets_find": { + "name": "assets_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assets_create": { + "name": "assets_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assets_update": { + "name": "assets_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "assets_delete": { + "name": "assets_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "resources_find": { + "name": "resources_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "resources_create": { + "name": "resources_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "resources_update": { + "name": "resources_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "resources_delete": { + "name": "resources_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "vehicles_find": { + "name": "vehicles_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "vehicles_create": { + "name": "vehicles_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "vehicles_update": { + "name": "vehicles_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "vehicles_delete": { + "name": "vehicles_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "structures_find": { + "name": "structures_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "structures_create": { + "name": "structures_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "structures_update": { + "name": "structures_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "structures_delete": { + "name": "structures_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "shipments_find": { + "name": "shipments_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "shipments_create": { + "name": "shipments_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "shipments_update": { + "name": "shipments_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "shipments_delete": { + "name": "shipments_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "bank_accounts_find": { + "name": "bank_accounts_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "bank_accounts_create": { + "name": "bank_accounts_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "bank_accounts_update": { + "name": "bank_accounts_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "bank_accounts_delete": { + "name": "bank_accounts_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "bank_transactions_find": { + "name": "bank_transactions_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "bank_transactions_create": { + "name": "bank_transactions_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "bank_transactions_update": { + "name": "bank_transactions_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "bank_transactions_delete": { + "name": "bank_transactions_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ledger_entries_find": { + "name": "ledger_entries_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ledger_entries_create": { + "name": "ledger_entries_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ledger_entries_update": { + "name": "ledger_entries_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ledger_entries_delete": { + "name": "ledger_entries_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "locker_storages_find": { + "name": "locker_storages_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "locker_storages_create": { + "name": "locker_storages_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "locker_storages_update": { + "name": "locker_storages_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "locker_storages_delete": { + "name": "locker_storages_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "loadouts_find": { + "name": "loadouts_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "loadouts_create": { + "name": "loadouts_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "loadouts_update": { + "name": "loadouts_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "loadouts_delete": { + "name": "loadouts_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_listings_find": { + "name": "market_listings_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_listings_create": { + "name": "market_listings_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_listings_update": { + "name": "market_listings_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_listings_delete": { + "name": "market_listings_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_negotiations_find": { + "name": "market_negotiations_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_negotiations_create": { + "name": "market_negotiations_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_negotiations_update": { + "name": "market_negotiations_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_negotiations_delete": { + "name": "market_negotiations_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_state_find": { + "name": "market_state_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_state_create": { + "name": "market_state_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_state_update": { + "name": "market_state_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "market_state_delete": { + "name": "market_state_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "voice_scripts_find": { + "name": "voice_scripts_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "voice_scripts_create": { + "name": "voice_scripts_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "voice_scripts_update": { + "name": "voice_scripts_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "voice_scripts_delete": { + "name": "voice_scripts_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "voice_submissions_find": { + "name": "voice_submissions_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "voice_submissions_create": { + "name": "voice_submissions_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "voice_submissions_update": { + "name": "voice_submissions_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "voice_submissions_delete": { + "name": "voice_submissions_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "tickets_find": { + "name": "tickets_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "tickets_create": { + "name": "tickets_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "tickets_update": { + "name": "tickets_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "tickets_delete": { + "name": "tickets_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ticket_votes_find": { + "name": "ticket_votes_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ticket_votes_create": { + "name": "ticket_votes_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ticket_votes_update": { + "name": "ticket_votes_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "ticket_votes_delete": { + "name": "ticket_votes_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_pages_find": { + "name": "wiki_pages_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_pages_create": { + "name": "wiki_pages_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_pages_update": { + "name": "wiki_pages_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_pages_delete": { + "name": "wiki_pages_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_revisions_find": { + "name": "wiki_revisions_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_revisions_create": { + "name": "wiki_revisions_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_revisions_update": { + "name": "wiki_revisions_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_revisions_delete": { + "name": "wiki_revisions_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_templates_find": { + "name": "wiki_templates_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_templates_create": { + "name": "wiki_templates_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_templates_update": { + "name": "wiki_templates_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "wiki_templates_delete": { + "name": "wiki_templates_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "projects_find": { + "name": "projects_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "projects_create": { + "name": "projects_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "projects_update": { + "name": "projects_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "projects_delete": { + "name": "projects_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "sprints_find": { + "name": "sprints_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "sprints_create": { + "name": "sprints_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "sprints_update": { + "name": "sprints_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "sprints_delete": { + "name": "sprints_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "releases_find": { + "name": "releases_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "releases_create": { + "name": "releases_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "releases_update": { + "name": "releases_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "releases_delete": { + "name": "releases_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "labels_find": { + "name": "labels_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "labels_create": { + "name": "labels_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "labels_update": { + "name": "labels_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "labels_delete": { + "name": "labels_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "maps_find": { + "name": "maps_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "maps_create": { + "name": "maps_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "maps_update": { + "name": "maps_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "maps_delete": { + "name": "maps_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "map_roads_find": { + "name": "map_roads_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "map_roads_create": { + "name": "map_roads_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "map_roads_update": { + "name": "map_roads_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "map_roads_delete": { + "name": "map_roads_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "map_zones_find": { + "name": "map_zones_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "map_zones_create": { + "name": "map_zones_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "map_zones_update": { + "name": "map_zones_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "map_zones_delete": { + "name": "map_zones_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "resource_nodes_find": { + "name": "resource_nodes_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "resource_nodes_create": { + "name": "resource_nodes_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "resource_nodes_update": { + "name": "resource_nodes_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "resource_nodes_delete": { + "name": "resource_nodes_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "narrative_events_find": { + "name": "narrative_events_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "narrative_events_create": { + "name": "narrative_events_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "narrative_events_update": { + "name": "narrative_events_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "narrative_events_delete": { + "name": "narrative_events_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "story_beats_find": { + "name": "story_beats_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "story_beats_create": { + "name": "story_beats_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "story_beats_update": { + "name": "story_beats_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "story_beats_delete": { + "name": "story_beats_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "story_beat_states_find": { + "name": "story_beat_states_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "story_beat_states_create": { + "name": "story_beat_states_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "story_beat_states_update": { + "name": "story_beat_states_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "story_beat_states_delete": { + "name": "story_beat_states_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mission_files_find": { + "name": "mission_files_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mission_files_create": { + "name": "mission_files_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mission_files_update": { + "name": "mission_files_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mission_files_delete": { + "name": "mission_files_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mod_lists_find": { + "name": "mod_lists_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mod_lists_create": { + "name": "mod_lists_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mod_lists_update": { + "name": "mod_lists_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "mod_lists_delete": { + "name": "mod_lists_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_servers_find": { + "name": "game_servers_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_servers_create": { + "name": "game_servers_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_servers_update": { + "name": "game_servers_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "game_servers_delete": { + "name": "game_servers_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "arma_sync_events_find": { + "name": "arma_sync_events_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "arma_sync_events_create": { + "name": "arma_sync_events_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "arma_sync_events_update": { + "name": "arma_sync_events_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "arma_sync_events_delete": { + "name": "arma_sync_events_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "arma_commands_find": { + "name": "arma_commands_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "arma_commands_create": { + "name": "arma_commands_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "arma_commands_update": { + "name": "arma_commands_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "arma_commands_delete": { + "name": "arma_commands_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "respawn_tickets_find": { + "name": "respawn_tickets_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "respawn_tickets_create": { + "name": "respawn_tickets_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "respawn_tickets_update": { + "name": "respawn_tickets_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "respawn_tickets_delete": { + "name": "respawn_tickets_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_events_find": { + "name": "operation_events_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_events_create": { + "name": "operation_events_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_events_update": { + "name": "operation_events_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_events_delete": { + "name": "operation_events_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_effects_find": { + "name": "operation_effects_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_effects_create": { + "name": "operation_effects_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_effects_update": { + "name": "operation_effects_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_effects_delete": { + "name": "operation_effects_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_reservations_find": { + "name": "operation_reservations_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_reservations_create": { + "name": "operation_reservations_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_reservations_update": { + "name": "operation_reservations_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_reservations_delete": { + "name": "operation_reservations_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_readiness_find": { + "name": "operation_readiness_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_readiness_create": { + "name": "operation_readiness_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_readiness_update": { + "name": "operation_readiness_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "operation_readiness_delete": { + "name": "operation_readiness_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "zone_pressure_find": { + "name": "zone_pressure_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "zone_pressure_create": { + "name": "zone_pressure_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "zone_pressure_update": { + "name": "zone_pressure_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "zone_pressure_delete": { + "name": "zone_pressure_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_minefields_find": { + "name": "custom_minefields_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_minefields_create": { + "name": "custom_minefields_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_minefields_update": { + "name": "custom_minefields_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_minefields_delete": { + "name": "custom_minefields_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_minefield_scores_find": { + "name": "custom_minefield_scores_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_minefield_scores_create": { + "name": "custom_minefield_scores_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_minefield_scores_update": { + "name": "custom_minefield_scores_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_minefield_scores_delete": { + "name": "custom_minefield_scores_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_radio_tests_find": { + "name": "custom_radio_tests_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_radio_tests_create": { + "name": "custom_radio_tests_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_radio_tests_update": { + "name": "custom_radio_tests_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_radio_tests_delete": { + "name": "custom_radio_tests_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_radio_test_scores_find": { + "name": "custom_radio_test_scores_find", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_radio_test_scores_create": { + "name": "custom_radio_test_scores_create", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_radio_test_scores_update": { + "name": "custom_radio_test_scores_update", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "custom_radio_test_scores_delete": { + "name": "custom_radio_test_scores_delete", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "enable_a_p_i_key": { + "name": "enable_a_p_i_key", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "api_key": { + "name": "api_key", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "api_key_index": { + "name": "api_key_index", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "payload_mcp_api_keys_user_idx": { + "name": "payload_mcp_api_keys_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_mcp_api_keys_updated_at_idx": { + "name": "payload_mcp_api_keys_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_mcp_api_keys_created_at_idx": { + "name": "payload_mcp_api_keys_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "payload_mcp_api_keys_user_id_users_id_fk": { + "name": "payload_mcp_api_keys_user_id_users_id_fk", + "tableFrom": "payload_mcp_api_keys", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_kv": { + "name": "payload_kv", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "data": { + "name": "data", + "type": "jsonb", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "payload_kv_key_idx": { + "name": "payload_kv_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_locked_documents": { + "name": "payload_locked_documents", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "global_slug": { + "name": "global_slug", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_locked_documents_global_slug_idx": { + "name": "payload_locked_documents_global_slug_idx", + "columns": [ + { + "expression": "global_slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_updated_at_idx": { + "name": "payload_locked_documents_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_created_at_idx": { + "name": "payload_locked_documents_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_locked_documents_rels": { + "name": "payload_locked_documents_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "media_id": { + "name": "media_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_hard_resources_id": { + "name": "game_hard_resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_structures_id": { + "name": "game_structures_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_vehicles_id": { + "name": "game_vehicles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_npcs_id": { + "name": "game_npcs_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "npc_staffing_id": { + "name": "npc_staffing_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "labor_classifications_id": { + "name": "labor_classifications_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_event_logs_id": { + "name": "game_event_logs_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "roles_id": { + "name": "roles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "ranks_id": { + "name": "ranks_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "profiles_id": { + "name": "profiles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "awards_id": { + "name": "awards_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "qualifications_id": { + "name": "qualifications_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assignments_id": { + "name": "assignments_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assignment_transfers_id": { + "name": "assignment_transfers_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "experience_id": { + "name": "experience_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "user_notifications_id": { + "name": "user_notifications_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "evaluations_id": { + "name": "evaluations_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "ribbon_submissions_id": { + "name": "ribbon_submissions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "missions_id": { + "name": "missions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "mission_attendances_id": { + "name": "mission_attendances_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "campaigns_id": { + "name": "campaigns_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "factions_id": { + "name": "factions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "technologies_id": { + "name": "technologies_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "assets_id": { + "name": "assets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "vehicles_id": { + "name": "vehicles_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "structures_id": { + "name": "structures_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "shipments_id": { + "name": "shipments_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "bank_accounts_id": { + "name": "bank_accounts_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "bank_transactions_id": { + "name": "bank_transactions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "ledger_entries_id": { + "name": "ledger_entries_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "locker_storages_id": { + "name": "locker_storages_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "loadouts_id": { + "name": "loadouts_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "market_listings_id": { + "name": "market_listings_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "market_negotiations_id": { + "name": "market_negotiations_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "market_state_id": { + "name": "market_state_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "voice_scripts_id": { + "name": "voice_scripts_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "voice_submissions_id": { + "name": "voice_submissions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "tickets_id": { + "name": "tickets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "ticket_votes_id": { + "name": "ticket_votes_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "wiki_pages_id": { + "name": "wiki_pages_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "wiki_revisions_id": { + "name": "wiki_revisions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "wiki_templates_id": { + "name": "wiki_templates_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "projects_id": { + "name": "projects_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "sprints_id": { + "name": "sprints_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "releases_id": { + "name": "releases_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "labels_id": { + "name": "labels_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "maps_id": { + "name": "maps_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "map_roads_id": { + "name": "map_roads_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "map_zones_id": { + "name": "map_zones_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resource_nodes_id": { + "name": "resource_nodes_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "narrative_events_id": { + "name": "narrative_events_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "story_beats_id": { + "name": "story_beats_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "story_beat_states_id": { + "name": "story_beat_states_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "mission_files_id": { + "name": "mission_files_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "mod_lists_id": { + "name": "mod_lists_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "game_servers_id": { + "name": "game_servers_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "arma_sync_events_id": { + "name": "arma_sync_events_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "arma_commands_id": { + "name": "arma_commands_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "respawn_tickets_id": { + "name": "respawn_tickets_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "operation_events_id": { + "name": "operation_events_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "operation_effects_id": { + "name": "operation_effects_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "operation_reservations_id": { + "name": "operation_reservations_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "operation_readiness_id": { + "name": "operation_readiness_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "zone_pressure_id": { + "name": "zone_pressure_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "custom_minefields_id": { + "name": "custom_minefields_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "custom_minefield_scores_id": { + "name": "custom_minefield_scores_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "custom_radio_tests_id": { + "name": "custom_radio_tests_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "custom_radio_test_scores_id": { + "name": "custom_radio_test_scores_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "plugin_ai_instructions_id": { + "name": "plugin_ai_instructions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "payload_mcp_api_keys_id": { + "name": "payload_mcp_api_keys_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "payload_locked_documents_rels_order_idx": { + "name": "payload_locked_documents_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_parent_idx": { + "name": "payload_locked_documents_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_path_idx": { + "name": "payload_locked_documents_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_media_id_idx": { + "name": "payload_locked_documents_rels_media_id_idx", + "columns": [ + { + "expression": "media_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_hard_resources_id_idx": { + "name": "payload_locked_documents_rels_game_hard_resources_id_idx", + "columns": [ + { + "expression": "game_hard_resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_structures_id_idx": { + "name": "payload_locked_documents_rels_game_structures_id_idx", + "columns": [ + { + "expression": "game_structures_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_vehicles_id_idx": { + "name": "payload_locked_documents_rels_game_vehicles_id_idx", + "columns": [ + { + "expression": "game_vehicles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_npcs_id_idx": { + "name": "payload_locked_documents_rels_game_npcs_id_idx", + "columns": [ + { + "expression": "game_npcs_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_npc_staffing_id_idx": { + "name": "payload_locked_documents_rels_npc_staffing_id_idx", + "columns": [ + { + "expression": "npc_staffing_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_labor_classifications_id_idx": { + "name": "payload_locked_documents_rels_labor_classifications_id_idx", + "columns": [ + { + "expression": "labor_classifications_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_event_logs_id_idx": { + "name": "payload_locked_documents_rels_game_event_logs_id_idx", + "columns": [ + { + "expression": "game_event_logs_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_users_id_idx": { + "name": "payload_locked_documents_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_roles_id_idx": { + "name": "payload_locked_documents_rels_roles_id_idx", + "columns": [ + { + "expression": "roles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_ranks_id_idx": { + "name": "payload_locked_documents_rels_ranks_id_idx", + "columns": [ + { + "expression": "ranks_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_profiles_id_idx": { + "name": "payload_locked_documents_rels_profiles_id_idx", + "columns": [ + { + "expression": "profiles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_awards_id_idx": { + "name": "payload_locked_documents_rels_awards_id_idx", + "columns": [ + { + "expression": "awards_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_qualifications_id_idx": { + "name": "payload_locked_documents_rels_qualifications_id_idx", + "columns": [ + { + "expression": "qualifications_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_assignments_id_idx": { + "name": "payload_locked_documents_rels_assignments_id_idx", + "columns": [ + { + "expression": "assignments_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_assignment_transfers_id_idx": { + "name": "payload_locked_documents_rels_assignment_transfers_id_idx", + "columns": [ + { + "expression": "assignment_transfers_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_experience_id_idx": { + "name": "payload_locked_documents_rels_experience_id_idx", + "columns": [ + { + "expression": "experience_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_user_notifications_id_idx": { + "name": "payload_locked_documents_rels_user_notifications_id_idx", + "columns": [ + { + "expression": "user_notifications_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_evaluations_id_idx": { + "name": "payload_locked_documents_rels_evaluations_id_idx", + "columns": [ + { + "expression": "evaluations_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_ribbon_submissions_id_idx": { + "name": "payload_locked_documents_rels_ribbon_submissions_id_idx", + "columns": [ + { + "expression": "ribbon_submissions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_missions_id_idx": { + "name": "payload_locked_documents_rels_missions_id_idx", + "columns": [ + { + "expression": "missions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_mission_attendances_id_idx": { + "name": "payload_locked_documents_rels_mission_attendances_id_idx", + "columns": [ + { + "expression": "mission_attendances_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_campaigns_id_idx": { + "name": "payload_locked_documents_rels_campaigns_id_idx", + "columns": [ + { + "expression": "campaigns_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_factions_id_idx": { + "name": "payload_locked_documents_rels_factions_id_idx", + "columns": [ + { + "expression": "factions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_technologies_id_idx": { + "name": "payload_locked_documents_rels_technologies_id_idx", + "columns": [ + { + "expression": "technologies_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_assets_id_idx": { + "name": "payload_locked_documents_rels_assets_id_idx", + "columns": [ + { + "expression": "assets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_resources_id_idx": { + "name": "payload_locked_documents_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_vehicles_id_idx": { + "name": "payload_locked_documents_rels_vehicles_id_idx", + "columns": [ + { + "expression": "vehicles_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_structures_id_idx": { + "name": "payload_locked_documents_rels_structures_id_idx", + "columns": [ + { + "expression": "structures_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_shipments_id_idx": { + "name": "payload_locked_documents_rels_shipments_id_idx", + "columns": [ + { + "expression": "shipments_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_bank_accounts_id_idx": { + "name": "payload_locked_documents_rels_bank_accounts_id_idx", + "columns": [ + { + "expression": "bank_accounts_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_bank_transactions_id_idx": { + "name": "payload_locked_documents_rels_bank_transactions_id_idx", + "columns": [ + { + "expression": "bank_transactions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_ledger_entries_id_idx": { + "name": "payload_locked_documents_rels_ledger_entries_id_idx", + "columns": [ + { + "expression": "ledger_entries_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_locker_storages_id_idx": { + "name": "payload_locked_documents_rels_locker_storages_id_idx", + "columns": [ + { + "expression": "locker_storages_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_loadouts_id_idx": { + "name": "payload_locked_documents_rels_loadouts_id_idx", + "columns": [ + { + "expression": "loadouts_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_market_listings_id_idx": { + "name": "payload_locked_documents_rels_market_listings_id_idx", + "columns": [ + { + "expression": "market_listings_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_market_negotiations_id_idx": { + "name": "payload_locked_documents_rels_market_negotiations_id_idx", + "columns": [ + { + "expression": "market_negotiations_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_market_state_id_idx": { + "name": "payload_locked_documents_rels_market_state_id_idx", + "columns": [ + { + "expression": "market_state_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_voice_scripts_id_idx": { + "name": "payload_locked_documents_rels_voice_scripts_id_idx", + "columns": [ + { + "expression": "voice_scripts_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_voice_submissions_id_idx": { + "name": "payload_locked_documents_rels_voice_submissions_id_idx", + "columns": [ + { + "expression": "voice_submissions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_tickets_id_idx": { + "name": "payload_locked_documents_rels_tickets_id_idx", + "columns": [ + { + "expression": "tickets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_ticket_votes_id_idx": { + "name": "payload_locked_documents_rels_ticket_votes_id_idx", + "columns": [ + { + "expression": "ticket_votes_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_wiki_pages_id_idx": { + "name": "payload_locked_documents_rels_wiki_pages_id_idx", + "columns": [ + { + "expression": "wiki_pages_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_wiki_revisions_id_idx": { + "name": "payload_locked_documents_rels_wiki_revisions_id_idx", + "columns": [ + { + "expression": "wiki_revisions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_wiki_templates_id_idx": { + "name": "payload_locked_documents_rels_wiki_templates_id_idx", + "columns": [ + { + "expression": "wiki_templates_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_projects_id_idx": { + "name": "payload_locked_documents_rels_projects_id_idx", + "columns": [ + { + "expression": "projects_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_sprints_id_idx": { + "name": "payload_locked_documents_rels_sprints_id_idx", + "columns": [ + { + "expression": "sprints_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_releases_id_idx": { + "name": "payload_locked_documents_rels_releases_id_idx", + "columns": [ + { + "expression": "releases_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_labels_id_idx": { + "name": "payload_locked_documents_rels_labels_id_idx", + "columns": [ + { + "expression": "labels_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_maps_id_idx": { + "name": "payload_locked_documents_rels_maps_id_idx", + "columns": [ + { + "expression": "maps_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_map_roads_id_idx": { + "name": "payload_locked_documents_rels_map_roads_id_idx", + "columns": [ + { + "expression": "map_roads_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_map_zones_id_idx": { + "name": "payload_locked_documents_rels_map_zones_id_idx", + "columns": [ + { + "expression": "map_zones_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_resource_nodes_id_idx": { + "name": "payload_locked_documents_rels_resource_nodes_id_idx", + "columns": [ + { + "expression": "resource_nodes_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_narrative_events_id_idx": { + "name": "payload_locked_documents_rels_narrative_events_id_idx", + "columns": [ + { + "expression": "narrative_events_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_story_beats_id_idx": { + "name": "payload_locked_documents_rels_story_beats_id_idx", + "columns": [ + { + "expression": "story_beats_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_story_beat_states_id_idx": { + "name": "payload_locked_documents_rels_story_beat_states_id_idx", + "columns": [ + { + "expression": "story_beat_states_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_mission_files_id_idx": { + "name": "payload_locked_documents_rels_mission_files_id_idx", + "columns": [ + { + "expression": "mission_files_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_mod_lists_id_idx": { + "name": "payload_locked_documents_rels_mod_lists_id_idx", + "columns": [ + { + "expression": "mod_lists_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_game_servers_id_idx": { + "name": "payload_locked_documents_rels_game_servers_id_idx", + "columns": [ + { + "expression": "game_servers_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_arma_sync_events_id_idx": { + "name": "payload_locked_documents_rels_arma_sync_events_id_idx", + "columns": [ + { + "expression": "arma_sync_events_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_arma_commands_id_idx": { + "name": "payload_locked_documents_rels_arma_commands_id_idx", + "columns": [ + { + "expression": "arma_commands_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_respawn_tickets_id_idx": { + "name": "payload_locked_documents_rels_respawn_tickets_id_idx", + "columns": [ + { + "expression": "respawn_tickets_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_operation_events_id_idx": { + "name": "payload_locked_documents_rels_operation_events_id_idx", + "columns": [ + { + "expression": "operation_events_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_operation_effects_id_idx": { + "name": "payload_locked_documents_rels_operation_effects_id_idx", + "columns": [ + { + "expression": "operation_effects_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_operation_reservations_id_idx": { + "name": "payload_locked_documents_rels_operation_reservations_id_idx", + "columns": [ + { + "expression": "operation_reservations_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_operation_readiness_id_idx": { + "name": "payload_locked_documents_rels_operation_readiness_id_idx", + "columns": [ + { + "expression": "operation_readiness_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_zone_pressure_id_idx": { + "name": "payload_locked_documents_rels_zone_pressure_id_idx", + "columns": [ + { + "expression": "zone_pressure_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_custom_minefields_id_idx": { + "name": "payload_locked_documents_rels_custom_minefields_id_idx", + "columns": [ + { + "expression": "custom_minefields_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_custom_minefield_scores_id_idx": { + "name": "payload_locked_documents_rels_custom_minefield_scores_id_idx", + "columns": [ + { + "expression": "custom_minefield_scores_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_custom_radio_tests_id_idx": { + "name": "payload_locked_documents_rels_custom_radio_tests_id_idx", + "columns": [ + { + "expression": "custom_radio_tests_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_custom_radio_test_scores_i_idx": { + "name": "payload_locked_documents_rels_custom_radio_test_scores_i_idx", + "columns": [ + { + "expression": "custom_radio_test_scores_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_plugin_ai_instructions_id_idx": { + "name": "payload_locked_documents_rels_plugin_ai_instructions_id_idx", + "columns": [ + { + "expression": "plugin_ai_instructions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_payload_mcp_api_keys_id_idx": { + "name": "payload_locked_documents_rels_payload_mcp_api_keys_id_idx", + "columns": [ + { + "expression": "payload_mcp_api_keys_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "payload_locked_documents_rels_parent_fk": { + "name": "payload_locked_documents_rels_parent_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "payload_locked_documents", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_media_fk": { + "name": "payload_locked_documents_rels_media_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "media", + "columnsFrom": [ + "media_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_hard_resources_fk": { + "name": "payload_locked_documents_rels_game_hard_resources_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_hard_resources", + "columnsFrom": [ + "game_hard_resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_structures_fk": { + "name": "payload_locked_documents_rels_game_structures_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_structures", + "columnsFrom": [ + "game_structures_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_vehicles_fk": { + "name": "payload_locked_documents_rels_game_vehicles_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_vehicles", + "columnsFrom": [ + "game_vehicles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_npcs_fk": { + "name": "payload_locked_documents_rels_game_npcs_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_npcs", + "columnsFrom": [ + "game_npcs_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_npc_staffing_fk": { + "name": "payload_locked_documents_rels_npc_staffing_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "npc_staffing", + "columnsFrom": [ + "npc_staffing_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_labor_classifications_fk": { + "name": "payload_locked_documents_rels_labor_classifications_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "labor_classifications", + "columnsFrom": [ + "labor_classifications_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_event_logs_fk": { + "name": "payload_locked_documents_rels_game_event_logs_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_event_logs", + "columnsFrom": [ + "game_event_logs_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_users_fk": { + "name": "payload_locked_documents_rels_users_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "users", + "columnsFrom": [ + "users_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_roles_fk": { + "name": "payload_locked_documents_rels_roles_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "roles", + "columnsFrom": [ + "roles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_ranks_fk": { + "name": "payload_locked_documents_rels_ranks_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "ranks", + "columnsFrom": [ + "ranks_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_profiles_fk": { + "name": "payload_locked_documents_rels_profiles_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "profiles", + "columnsFrom": [ + "profiles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_awards_fk": { + "name": "payload_locked_documents_rels_awards_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "awards", + "columnsFrom": [ + "awards_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_qualifications_fk": { + "name": "payload_locked_documents_rels_qualifications_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "qualifications", + "columnsFrom": [ + "qualifications_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_assignments_fk": { + "name": "payload_locked_documents_rels_assignments_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "assignments", + "columnsFrom": [ + "assignments_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_assignment_transfers_fk": { + "name": "payload_locked_documents_rels_assignment_transfers_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "assignment_transfers", + "columnsFrom": [ + "assignment_transfers_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_experience_fk": { + "name": "payload_locked_documents_rels_experience_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "experience", + "columnsFrom": [ + "experience_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_user_notifications_fk": { + "name": "payload_locked_documents_rels_user_notifications_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "user_notifications", + "columnsFrom": [ + "user_notifications_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_evaluations_fk": { + "name": "payload_locked_documents_rels_evaluations_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "evaluations", + "columnsFrom": [ + "evaluations_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_ribbon_submissions_fk": { + "name": "payload_locked_documents_rels_ribbon_submissions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "ribbon_submissions", + "columnsFrom": [ + "ribbon_submissions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_missions_fk": { + "name": "payload_locked_documents_rels_missions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "missions", + "columnsFrom": [ + "missions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_mission_attendances_fk": { + "name": "payload_locked_documents_rels_mission_attendances_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "mission_attendances", + "columnsFrom": [ + "mission_attendances_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_campaigns_fk": { + "name": "payload_locked_documents_rels_campaigns_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "campaigns", + "columnsFrom": [ + "campaigns_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_factions_fk": { + "name": "payload_locked_documents_rels_factions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "factions", + "columnsFrom": [ + "factions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_technologies_fk": { + "name": "payload_locked_documents_rels_technologies_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "technologies", + "columnsFrom": [ + "technologies_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_assets_fk": { + "name": "payload_locked_documents_rels_assets_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "assets", + "columnsFrom": [ + "assets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_resources_fk": { + "name": "payload_locked_documents_rels_resources_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "resources", + "columnsFrom": [ + "resources_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_vehicles_fk": { + "name": "payload_locked_documents_rels_vehicles_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "vehicles", + "columnsFrom": [ + "vehicles_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_structures_fk": { + "name": "payload_locked_documents_rels_structures_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "structures", + "columnsFrom": [ + "structures_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_shipments_fk": { + "name": "payload_locked_documents_rels_shipments_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "shipments", + "columnsFrom": [ + "shipments_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_bank_accounts_fk": { + "name": "payload_locked_documents_rels_bank_accounts_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "bank_accounts", + "columnsFrom": [ + "bank_accounts_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_bank_transactions_fk": { + "name": "payload_locked_documents_rels_bank_transactions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "bank_transactions", + "columnsFrom": [ + "bank_transactions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_ledger_entries_fk": { + "name": "payload_locked_documents_rels_ledger_entries_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "ledger_entries", + "columnsFrom": [ + "ledger_entries_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_locker_storages_fk": { + "name": "payload_locked_documents_rels_locker_storages_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "locker_storages", + "columnsFrom": [ + "locker_storages_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_loadouts_fk": { + "name": "payload_locked_documents_rels_loadouts_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "loadouts", + "columnsFrom": [ + "loadouts_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_market_listings_fk": { + "name": "payload_locked_documents_rels_market_listings_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "market_listings", + "columnsFrom": [ + "market_listings_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_market_negotiations_fk": { + "name": "payload_locked_documents_rels_market_negotiations_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "market_negotiations", + "columnsFrom": [ + "market_negotiations_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_market_state_fk": { + "name": "payload_locked_documents_rels_market_state_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "market_state", + "columnsFrom": [ + "market_state_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_voice_scripts_fk": { + "name": "payload_locked_documents_rels_voice_scripts_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "voice_scripts", + "columnsFrom": [ + "voice_scripts_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_voice_submissions_fk": { + "name": "payload_locked_documents_rels_voice_submissions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "voice_submissions", + "columnsFrom": [ + "voice_submissions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_tickets_fk": { + "name": "payload_locked_documents_rels_tickets_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "tickets", + "columnsFrom": [ + "tickets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_ticket_votes_fk": { + "name": "payload_locked_documents_rels_ticket_votes_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "ticket_votes", + "columnsFrom": [ + "ticket_votes_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_wiki_pages_fk": { + "name": "payload_locked_documents_rels_wiki_pages_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "wiki_pages", + "columnsFrom": [ + "wiki_pages_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_wiki_revisions_fk": { + "name": "payload_locked_documents_rels_wiki_revisions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "wiki_revisions", + "columnsFrom": [ + "wiki_revisions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_wiki_templates_fk": { + "name": "payload_locked_documents_rels_wiki_templates_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "wiki_templates", + "columnsFrom": [ + "wiki_templates_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_projects_fk": { + "name": "payload_locked_documents_rels_projects_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "projects", + "columnsFrom": [ + "projects_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_sprints_fk": { + "name": "payload_locked_documents_rels_sprints_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "sprints", + "columnsFrom": [ + "sprints_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_releases_fk": { + "name": "payload_locked_documents_rels_releases_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "releases", + "columnsFrom": [ + "releases_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_labels_fk": { + "name": "payload_locked_documents_rels_labels_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "labels", + "columnsFrom": [ + "labels_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_maps_fk": { + "name": "payload_locked_documents_rels_maps_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "maps", + "columnsFrom": [ + "maps_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_map_roads_fk": { + "name": "payload_locked_documents_rels_map_roads_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "map_roads", + "columnsFrom": [ + "map_roads_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_map_zones_fk": { + "name": "payload_locked_documents_rels_map_zones_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "map_zones", + "columnsFrom": [ + "map_zones_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_resource_nodes_fk": { + "name": "payload_locked_documents_rels_resource_nodes_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "resource_nodes", + "columnsFrom": [ + "resource_nodes_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_narrative_events_fk": { + "name": "payload_locked_documents_rels_narrative_events_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "narrative_events", + "columnsFrom": [ + "narrative_events_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_story_beats_fk": { + "name": "payload_locked_documents_rels_story_beats_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "story_beats", + "columnsFrom": [ + "story_beats_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_story_beat_states_fk": { + "name": "payload_locked_documents_rels_story_beat_states_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "story_beat_states", + "columnsFrom": [ + "story_beat_states_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_mission_files_fk": { + "name": "payload_locked_documents_rels_mission_files_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "mission_files", + "columnsFrom": [ + "mission_files_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_mod_lists_fk": { + "name": "payload_locked_documents_rels_mod_lists_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "mod_lists", + "columnsFrom": [ + "mod_lists_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_game_servers_fk": { + "name": "payload_locked_documents_rels_game_servers_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "game_servers", + "columnsFrom": [ + "game_servers_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_arma_sync_events_fk": { + "name": "payload_locked_documents_rels_arma_sync_events_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "arma_sync_events", + "columnsFrom": [ + "arma_sync_events_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_arma_commands_fk": { + "name": "payload_locked_documents_rels_arma_commands_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "arma_commands", + "columnsFrom": [ + "arma_commands_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_respawn_tickets_fk": { + "name": "payload_locked_documents_rels_respawn_tickets_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "respawn_tickets", + "columnsFrom": [ + "respawn_tickets_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_operation_events_fk": { + "name": "payload_locked_documents_rels_operation_events_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "operation_events", + "columnsFrom": [ + "operation_events_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_operation_effects_fk": { + "name": "payload_locked_documents_rels_operation_effects_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "operation_effects", + "columnsFrom": [ + "operation_effects_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_operation_reservations_fk": { + "name": "payload_locked_documents_rels_operation_reservations_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "operation_reservations", + "columnsFrom": [ + "operation_reservations_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_operation_readiness_fk": { + "name": "payload_locked_documents_rels_operation_readiness_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "operation_readiness", + "columnsFrom": [ + "operation_readiness_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_zone_pressure_fk": { + "name": "payload_locked_documents_rels_zone_pressure_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "zone_pressure", + "columnsFrom": [ + "zone_pressure_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_custom_minefields_fk": { + "name": "payload_locked_documents_rels_custom_minefields_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "custom_minefields", + "columnsFrom": [ + "custom_minefields_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_custom_minefield_scores_fk": { + "name": "payload_locked_documents_rels_custom_minefield_scores_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "custom_minefield_scores", + "columnsFrom": [ + "custom_minefield_scores_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_custom_radio_tests_fk": { + "name": "payload_locked_documents_rels_custom_radio_tests_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "custom_radio_tests", + "columnsFrom": [ + "custom_radio_tests_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_custom_radio_test_scores_fk": { + "name": "payload_locked_documents_rels_custom_radio_test_scores_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "custom_radio_test_scores", + "columnsFrom": [ + "custom_radio_test_scores_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_plugin_ai_instructions_fk": { + "name": "payload_locked_documents_rels_plugin_ai_instructions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "plugin_ai_instructions", + "columnsFrom": [ + "plugin_ai_instructions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_payload_mcp_api_keys_fk": { + "name": "payload_locked_documents_rels_payload_mcp_api_keys_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "payload_mcp_api_keys", + "columnsFrom": [ + "payload_mcp_api_keys_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_preferences": { + "name": "payload_preferences", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "value": { + "name": "value", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_preferences_key_idx": { + "name": "payload_preferences_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_updated_at_idx": { + "name": "payload_preferences_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_created_at_idx": { + "name": "payload_preferences_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_preferences_rels": { + "name": "payload_preferences_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "payload_mcp_api_keys_id": { + "name": "payload_mcp_api_keys_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "payload_preferences_rels_order_idx": { + "name": "payload_preferences_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_parent_idx": { + "name": "payload_preferences_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_path_idx": { + "name": "payload_preferences_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_users_id_idx": { + "name": "payload_preferences_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_payload_mcp_api_keys_id_idx": { + "name": "payload_preferences_rels_payload_mcp_api_keys_id_idx", + "columns": [ + { + "expression": "payload_mcp_api_keys_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "payload_preferences_rels_parent_fk": { + "name": "payload_preferences_rels_parent_fk", + "tableFrom": "payload_preferences_rels", + "tableTo": "payload_preferences", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_preferences_rels_users_fk": { + "name": "payload_preferences_rels_users_fk", + "tableFrom": "payload_preferences_rels", + "tableTo": "users", + "columnsFrom": [ + "users_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_preferences_rels_payload_mcp_api_keys_fk": { + "name": "payload_preferences_rels_payload_mcp_api_keys_fk", + "tableFrom": "payload_preferences_rels", + "tableTo": "payload_mcp_api_keys", + "columnsFrom": [ + "payload_mcp_api_keys_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_migrations": { + "name": "payload_migrations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "batch": { + "name": "batch", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_migrations_updated_at_idx": { + "name": "payload_migrations_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_migrations_created_at_idx": { + "name": "payload_migrations_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_rules": { + "name": "game_rules", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "main_currency_id": { + "name": "main_currency_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "currency_name": { + "name": "currency_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "currency_symbol": { + "name": "currency_symbol", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "currency_singular": { + "name": "currency_singular", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "currency_plural": { + "name": "currency_plural", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "currency_denomination": { + "name": "currency_denomination", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "proximity_threshold": { + "name": "proximity_threshold", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1000 + }, + "game_tick_interval_minutes": { + "name": "game_tick_interval_minutes", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 10 + }, + "locker_grid_width": { + "name": "locker_grid_width", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 10 + }, + "locker_grid_height": { + "name": "locker_grid_height", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 6 + }, + "staff_hiring_enabled": { + "name": "staff_hiring_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "staff_hiring_disabled_message": { + "name": "staff_hiring_disabled_message", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "economy_enabled": { + "name": "economy_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "economy_default_price_band": { + "name": "economy_default_price_band", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0.5 + }, + "economy_real_demand_window_ticks": { + "name": "economy_real_demand_window_ticks", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 24 + }, + "economy_real_demand_decay": { + "name": "economy_real_demand_decay", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0.5 + }, + "economy_artificial_demand_drift": { + "name": "economy_artificial_demand_drift", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0.05 + }, + "economy_cold_start_observations": { + "name": "economy_cold_start_observations", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 5 + }, + "economy_tick_interval_hint_minutes": { + "name": "economy_tick_interval_hint_minutes", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 60 + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "game_rules_main_currency_idx": { + "name": "game_rules_main_currency_idx", + "columns": [ + { + "expression": "main_currency_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_rules_main_currency_id_resources_id_fk": { + "name": "game_rules_main_currency_id_resources_id_fk", + "tableFrom": "game_rules", + "tableTo": "resources", + "columnsFrom": [ + "main_currency_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.game_rules_rels": { + "name": "game_rules_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "assignments_id": { + "name": "assignments_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "game_rules_rels_order_idx": { + "name": "game_rules_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_rules_rels_parent_idx": { + "name": "game_rules_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_rules_rels_path_idx": { + "name": "game_rules_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "game_rules_rels_assignments_id_idx": { + "name": "game_rules_rels_assignments_id_idx", + "columns": [ + { + "expression": "assignments_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "game_rules_rels_parent_fk": { + "name": "game_rules_rels_parent_fk", + "tableFrom": "game_rules_rels", + "tableTo": "game_rules", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "game_rules_rels_assignments_fk": { + "name": "game_rules_rels_assignments_fk", + "tableFrom": "game_rules_rels", + "tableTo": "assignments", + "columnsFrom": [ + "assignments_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shims_shims_targeting_roles": { + "name": "shims_shims_targeting_roles", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_shims_shims_targeting_roles", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "shims_shims_targeting_roles_order_idx": { + "name": "shims_shims_targeting_roles_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shims_shims_targeting_roles_parent_idx": { + "name": "shims_shims_targeting_roles_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shims_shims_targeting_roles_parent_fk": { + "name": "shims_shims_targeting_roles_parent_fk", + "tableFrom": "shims_shims_targeting_roles", + "tableTo": "shims_shims", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shims_shims": { + "name": "shims_shims", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "summary": { + "name": "summary", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "enabled": { + "name": "enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "type": { + "name": "type", + "type": "enum_shims_shims_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'css'" + }, + "content": { + "name": "content", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "targeting_audience": { + "name": "targeting_audience", + "type": "enum_shims_shims_targeting_audience", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'all'" + }, + "targeting_percentage": { + "name": "targeting_percentage", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 50 + }, + "paths_match_type": { + "name": "paths_match_type", + "type": "enum_shims_shims_paths_match_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'all'" + } + }, + "indexes": { + "shims_shims_order_idx": { + "name": "shims_shims_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shims_shims_parent_id_idx": { + "name": "shims_shims_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shims_shims_name_idx": { + "name": "shims_shims_name_idx", + "columns": [ + { + "expression": "name", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shims_shims_parent_id_fk": { + "name": "shims_shims_parent_id_fk", + "tableFrom": "shims_shims", + "tableTo": "shims", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shims": { + "name": "shims", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shims_texts": { + "name": "shims_texts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "text": { + "name": "text", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "shims_texts_order_parent": { + "name": "shims_texts_order_parent", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shims_texts_parent_fk": { + "name": "shims_texts_parent_fk", + "tableFrom": "shims_texts", + "tableTo": "shims", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.shims_rels": { + "name": "shims_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "shims_rels_order_idx": { + "name": "shims_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shims_rels_parent_idx": { + "name": "shims_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shims_rels_path_idx": { + "name": "shims_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "shims_rels_users_id_idx": { + "name": "shims_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "shims_rels_parent_fk": { + "name": "shims_rels_parent_fk", + "tableFrom": "shims_rels", + "tableTo": "shims", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "shims_rels_users_fk": { + "name": "shims_rels_users_fk", + "tableFrom": "shims_rels", + "tableTo": "users", + "columnsFrom": [ + "users_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": { + "public.enum_game_structures_staff_positions_position_type": { + "name": "enum_game_structures_staff_positions_position_type", + "schema": "public", + "values": [ + "administrative", + "technical", + "other" + ] + }, + "public.enum_game_structures_construction_status": { + "name": "enum_game_structures_construction_status", + "schema": "public", + "values": [ + "awaiting_materials", + "building", + "complete" + ] + }, + "public.enum_game_vehicles_status": { + "name": "enum_game_vehicles_status", + "schema": "public", + "values": [ + "idle", + "assigned", + "in_transit", + "damaged", + "destroyed" + ] + }, + "public.enum_npc_staffing_position_type": { + "name": "enum_npc_staffing_position_type", + "schema": "public", + "values": [ + "labor", + "administrative", + "technical", + "other" + ] + }, + "public.enum_npc_staffing_status": { + "name": "enum_npc_staffing_status", + "schema": "public", + "values": [ + "active", + "terminated" + ] + }, + "public.enum_game_event_logs_target_collection": { + "name": "enum_game_event_logs_target_collection", + "schema": "public", + "values": [ + "game-structures", + "game-vehicles", + "game-npcs", + "npc-staffing", + "structures", + "resources", + "assets", + "vehicles", + "factions", + "missions", + "campaigns", + "users", + "technologies", + "maps", + "shipments", + "bank-accounts", + "bank-transactions", + "ledger-entries", + "locker-storages", + "loadouts", + "market-listings", + "market-negotiations", + "market-state", + "evaluations", + "tickets", + "wiki-pages", + "wiki-revisions", + "wiki-templates", + "game-servers", + "assignment-transfers", + "voice-scripts", + "voice-submissions", + "story-beats", + "story-beat-states", + "custom-minefields", + "custom-minefield-scores", + "custom-radio-tests", + "custom-radio-test-scores", + "ribbon-submissions" + ] + }, + "public.enum_users_roles": { + "name": "enum_users_roles", + "schema": "public", + "values": [ + "guest", + "user", + "trusted", + "admin", + "developer" + ] + }, + "public.enum_users_preferences_notifications_muted_types": { + "name": "enum_users_preferences_notifications_muted_types", + "schema": "public", + "values": [ + "market:offer", + "market:counter", + "market:accept", + "market:reject", + "market:withdrawn", + "market:closed", + "market:sold", + "market:expired", + "award:granted", + "account:discord-request", + "finance:deposit", + "finance:withdraw", + "finance:transfer", + "shipment:completed", + "ticket:created", + "ticket:assigned", + "ticket:reply", + "ticket:status", + "poker:force-ended", + "poker:everyone-left", + "blackjack:force-ended", + "blackjack:everyone-left" + ] + }, + "public.enum_users_preferences_discord_muted_types": { + "name": "enum_users_preferences_discord_muted_types", + "schema": "public", + "values": [ + "market:offer", + "market:counter", + "market:accept", + "market:reject", + "market:withdrawn", + "market:closed", + "market:sold", + "market:expired", + "award:granted", + "account:discord-request", + "finance:deposit", + "finance:withdraw", + "finance:transfer", + "shipment:completed", + "ticket:created", + "ticket:assigned", + "ticket:reply", + "ticket:status", + "poker:force-ended", + "poker:everyone-left", + "blackjack:force-ended", + "blackjack:everyone-left" + ] + }, + "public.enum_users_preferences_display_lead_or_actual": { + "name": "enum_users_preferences_display_lead_or_actual", + "schema": "public", + "values": [ + "lead", + "actual" + ] + }, + "public.enum_roles_permissions": { + "name": "enum_roles_permissions", + "schema": "public", + "values": [ + "system:admin-access", + "media:create", + "media:read", + "media:update", + "media:delete", + "admin:media:manage", + "users:create", + "users:read", + "users:update", + "users:delete", + "users:unlock", + "users:assign-roles", + "admin:users:manage", + "roles:create", + "roles:read", + "roles:update", + "roles:delete", + "admin:roles:manage", + "ranks:create", + "ranks:read", + "ranks:update", + "ranks:delete", + "admin:ranks:manage", + "profiles:create", + "profiles:read", + "profiles:update", + "profiles:delete", + "admin:profiles:manage", + "awards:create", + "awards:read", + "awards:update", + "awards:delete", + "admin:awards:manage", + "qualifications:create", + "qualifications:read", + "qualifications:update", + "qualifications:delete", + "admin:qualifications:manage", + "assignments:create", + "assignments:read", + "assignments:update", + "assignments:delete", + "admin:assignments:manage", + "assignment-transfers:create", + "assignment-transfers:read", + "assignment-transfers:update", + "assignment-transfers:delete", + "admin:assignment-transfers:manage", + "experience:create", + "experience:read", + "experience:update", + "experience:delete", + "admin:experience:manage", + "user-notifications:create", + "user-notifications:read", + "user-notifications:update", + "user-notifications:delete", + "admin:user-notifications:manage", + "evaluations:create", + "evaluations:read", + "evaluations:update", + "evaluations:delete", + "admin:evaluations:manage", + "missions:create", + "missions:read", + "missions:update", + "missions:delete", + "missions:read-sensitive", + "admin:missions:manage", + "mission-attendances:create", + "mission-attendances:read", + "mission-attendances:update", + "mission-attendances:delete", + "admin:mission-attendances:manage", + "campaigns:create", + "campaigns:read", + "campaigns:update", + "campaigns:delete", + "admin:campaigns:manage", + "campaigns:manage", + "factions:create", + "factions:read", + "factions:update", + "factions:delete", + "admin:factions:manage", + "technologies:create", + "technologies:read", + "technologies:update", + "technologies:delete", + "admin:technologies:manage", + "assets:create", + "assets:read", + "assets:update", + "assets:delete", + "admin:assets:manage", + "resources:create", + "resources:read", + "resources:update", + "resources:delete", + "admin:resources:manage", + "vehicles:create", + "vehicles:read", + "vehicles:update", + "vehicles:delete", + "admin:vehicles:manage", + "structures:create", + "structures:read", + "structures:update", + "structures:delete", + "admin:structures:manage", + "shipments:create", + "shipments:read", + "shipments:update", + "shipments:delete", + "admin:shipments:manage", + "bank-accounts:create", + "bank-accounts:read", + "bank-accounts:update", + "bank-accounts:delete", + "admin:bank-accounts:manage", + "bank-transactions:create", + "bank-transactions:read", + "bank-transactions:update", + "bank-transactions:delete", + "admin:bank-transactions:manage", + "ledger-entries:create", + "ledger-entries:read", + "ledger-entries:update", + "ledger-entries:delete", + "admin:ledger-entries:manage", + "locker-storages:create", + "locker-storages:read", + "locker-storages:update", + "locker-storages:delete", + "admin:locker-storages:manage", + "loadouts:create", + "loadouts:read", + "loadouts:update", + "loadouts:delete", + "admin:loadouts:manage", + "market-listings:create", + "market-listings:read", + "market-listings:update", + "market-listings:delete", + "admin:market-listings:manage", + "market-negotiations:create", + "market-negotiations:read", + "market-negotiations:update", + "market-negotiations:delete", + "admin:market-negotiations:manage", + "market-state:create", + "market-state:read", + "market-state:update", + "market-state:delete", + "admin:market-state:manage", + "projects:create", + "projects:read", + "projects:update", + "projects:delete", + "admin:projects:manage", + "labels:create", + "labels:read", + "labels:update", + "labels:delete", + "admin:labels:manage", + "sprints:create", + "sprints:read", + "sprints:update", + "sprints:delete", + "admin:sprints:manage", + "releases:create", + "releases:read", + "releases:update", + "releases:delete", + "admin:releases:manage", + "tickets:create", + "tickets:read", + "tickets:update", + "tickets:delete", + "admin:tickets:manage", + "ticket-votes:create", + "ticket-votes:read", + "ticket-votes:update", + "ticket-votes:delete", + "admin:ticket-votes:manage", + "game-structures:create", + "game-structures:read", + "game-structures:update", + "game-structures:delete", + "admin:game-structures:manage", + "game-vehicles:create", + "game-vehicles:read", + "game-vehicles:update", + "game-vehicles:delete", + "admin:game-vehicles:manage", + "game-npcs:create", + "game-npcs:read", + "game-npcs:update", + "game-npcs:delete", + "admin:game-npcs:manage", + "game-hard-resources:create", + "game-hard-resources:read", + "game-hard-resources:update", + "game-hard-resources:delete", + "admin:game-hard-resources:manage", + "game-event-logs:create", + "game-event-logs:read", + "game-event-logs:update", + "game-event-logs:delete", + "admin:game-event-logs:manage", + "maps:create", + "maps:read", + "maps:update", + "maps:delete", + "admin:maps:manage", + "map-roads:read", + "admin:map-roads:manage", + "map-zones:read", + "admin:map-zones:manage", + "resource-nodes:read", + "admin:resource-nodes:manage", + "narrative-events:create", + "narrative-events:read", + "narrative-events:update", + "narrative-events:delete", + "admin:narrative-events:manage", + "mission-files:create", + "mission-files:read", + "mission-files:update", + "mission-files:delete", + "admin:mission-files:manage", + "mod-lists:create", + "mod-lists:read", + "mod-lists:update", + "mod-lists:delete", + "admin:mod-lists:manage", + "game-servers:create", + "game-servers:read", + "game-servers:update", + "game-servers:delete", + "admin:game-servers:manage", + "arma-sync-events:create", + "arma-sync-events:read", + "arma-sync-events:update", + "arma-sync-events:delete", + "admin:arma-sync-events:manage", + "arma-commands:create", + "arma-commands:read", + "arma-commands:update", + "arma-commands:delete", + "admin:arma-commands:manage", + "operation-events:create", + "operation-events:read", + "operation-events:update", + "operation-events:delete", + "admin:operation-events:manage", + "operation-effects:create", + "operation-effects:read", + "operation-effects:update", + "operation-effects:delete", + "admin:operation-effects:manage", + "operation-reservations:create", + "operation-reservations:read", + "operation-reservations:update", + "operation-reservations:delete", + "admin:operation-reservations:manage", + "operation-readiness:create", + "operation-readiness:read", + "operation-readiness:update", + "operation-readiness:delete", + "admin:operation-readiness:manage", + "zone-pressure:create", + "zone-pressure:read", + "zone-pressure:update", + "zone-pressure:delete", + "admin:zone-pressure:manage", + "game-rules:read", + "game-rules:update", + "shims:read", + "shims:update", + "logistics:manage", + "intelligence:manage", + "profiles:intel_excerpt:update", + "banking:manage", + "tickets:staff", + "discord:staff", + "discord:announce", + "custom-minefields:update", + "custom-minefields:delete", + "custom-minefield-scores:delete", + "custom-radio-tests:update", + "custom-radio-tests:delete", + "custom-radio-test-scores:delete" + ] + }, + "public.enum_awards_grant_config_allowed_grantor_assignment_types": { + "name": "enum_awards_grant_config_allowed_grantor_assignment_types", + "schema": "public", + "values": [ + "division", + "squad", + "team", + "special" + ] + }, + "public.enum_awards_type": { + "name": "enum_awards_type", + "schema": "public", + "values": [ + "commendation", + "ribbon", + "medal" + ] + }, + "public.enum_awards_grant_config_recipient_scope": { + "name": "enum_awards_grant_config_recipient_scope", + "schema": "public", + "values": [ + "same_command", + "whitelist", + "anyone" + ] + }, + "public.enum_assignments_type": { + "name": "enum_assignments_type", + "schema": "public", + "values": [ + "division", + "squad", + "team", + "special" + ] + }, + "public.enum_assignment_transfers_status": { + "name": "enum_assignment_transfers_status", + "schema": "public", + "values": [ + "pending", + "rejected", + "awaiting_superuser", + "completed", + "cancelled", + "denied" + ] + }, + "public.enum_assignment_transfers_escalation_reason": { + "name": "enum_assignment_transfers_escalation_reason", + "schema": "public", + "values": [ + "no_leaders", + "appeal", + "leader_changed" + ] + }, + "public.enum_assignment_transfers_from_leader_decision": { + "name": "enum_assignment_transfers_from_leader_decision", + "schema": "public", + "values": [ + "pending", + "approved", + "rejected", + "not_required" + ] + }, + "public.enum_assignment_transfers_to_leader_decision": { + "name": "enum_assignment_transfers_to_leader_decision", + "schema": "public", + "values": [ + "pending", + "approved", + "rejected", + "not_required" + ] + }, + "public.enum_evaluations_kind": { + "name": "enum_evaluations_kind", + "schema": "public", + "values": [ + "leader-direct", + "leader-indirect", + "subordinate" + ] + }, + "public.enum_evaluations_level": { + "name": "enum_evaluations_level", + "schema": "public", + "values": [ + "exceptional", + "excellent", + "proficient", + "adequate", + "moderate", + "under-review" + ] + }, + "public.enum_ribbon_submissions_grantor_types": { + "name": "enum_ribbon_submissions_grantor_types", + "schema": "public", + "values": [ + "division", + "squad", + "team", + "special" + ] + }, + "public.enum_ribbon_submissions_status": { + "name": "enum_ribbon_submissions_status", + "schema": "public", + "values": [ + "pending", + "approved", + "rejected" + ] + }, + "public.enum_ribbon_submissions_recipient_scope": { + "name": "enum_ribbon_submissions_recipient_scope", + "schema": "public", + "values": [ + "same_command", + "whitelist", + "anyone" + ] + }, + "public.enum_missions_factions_involved_threat_level": { + "name": "enum_missions_factions_involved_threat_level", + "schema": "public", + "values": [ + "ally", + "friendly", + "neutral", + "hostile" + ] + }, + "public.enum_missions_logistics_and_support_insertion": { + "name": "enum_missions_logistics_and_support_insertion", + "schema": "public", + "values": [ + "helicopter", + "aircraft", + "paradrop", + "boat", + "car", + "onFoot" + ] + }, + "public.enum_missions_logistics_and_support_extraction": { + "name": "enum_missions_logistics_and_support_extraction", + "schema": "public", + "values": [ + "helicopter", + "aircraft", + "paradrop", + "boat", + "car", + "onFoot" + ] + }, + "public.enum_missions_operation_type": { + "name": "enum_missions_operation_type", + "schema": "public", + "values": [ + "main", + "side", + "external" + ] + }, + "public.enum_missions_classification_mission_type": { + "name": "enum_missions_classification_mission_type", + "schema": "public", + "values": [ + "Zeus", + "PvE", + "PvP", + "PvPvE", + "Training", + "Special" + ] + }, + "public.enum_missions_ownership_and_status_status": { + "name": "enum_missions_ownership_and_status_status", + "schema": "public", + "values": [ + "Concept", + "Planning", + "Ready", + "Scheduled", + "Active", + "Completed", + "Cancelled" + ] + }, + "public.enum_missions_ownership_and_status_visibility": { + "name": "enum_missions_ownership_and_status_visibility", + "schema": "public", + "values": [ + "unit", + "leadership", + "intel", + "private" + ] + }, + "public.enum_missions_civilian_presence": { + "name": "enum_missions_civilian_presence", + "schema": "public", + "values": [ + "None", + "Low", + "Medium", + "High" + ] + }, + "public.enum_mission_attendances_response": { + "name": "enum_mission_attendances_response", + "schema": "public", + "values": [ + "yes", + "no", + "tentative" + ] + }, + "public.enum_campaigns_status": { + "name": "enum_campaigns_status", + "schema": "public", + "values": [ + "concept", + "inProgress", + "completed" + ] + }, + "public.enum_campaigns_campaign_mode": { + "name": "enum_campaigns_campaign_mode", + "schema": "public", + "values": [ + "official", + "custom" + ] + }, + "public.enum_factions_type": { + "name": "enum_factions_type", + "schema": "public", + "values": [ + "playerFaction", + "majorFaction", + "minorFaction", + "corporation", + "special" + ] + }, + "public.enum_technologies_approval_status": { + "name": "enum_technologies_approval_status", + "schema": "public", + "values": [ + "in_progress", + "ready_for_review", + "approved", + "rejected", + "revision_requested" + ] + }, + "public.enum_technologies_type": { + "name": "enum_technologies_type", + "schema": "public", + "values": [ + "asset", + "upgrade" + ] + }, + "public.enum_assets_skin_configuration_applies_to_asset_types": { + "name": "enum_assets_skin_configuration_applies_to_asset_types", + "schema": "public", + "values": [ + "weapon", + "uniform", + "vest", + "backpack", + "helmet" + ] + }, + "public.enum_assets_approval_status": { + "name": "enum_assets_approval_status", + "schema": "public", + "values": [ + "in_progress", + "ready_for_review", + "approved", + "rejected", + "revision_requested" + ] + }, + "public.enum_assets_asset_type": { + "name": "enum_assets_asset_type", + "schema": "public", + "values": [ + "weapon", + "magazine", + "optic", + "muzzle", + "bipod", + "uniform", + "vest", + "backpack", + "helmet", + "facewear", + "nvg", + "radio", + "medical", + "tool", + "explosive", + "skin", + "miscellaneous" + ] + }, + "public.enum_assets_weapon_configuration_slot_type": { + "name": "enum_assets_weapon_configuration_slot_type", + "schema": "public", + "values": [ + "primary", + "secondary", + "launcher" + ] + }, + "public.enum_assets_nightvision_configuration_nvg_generation": { + "name": "enum_assets_nightvision_configuration_nvg_generation", + "schema": "public", + "values": [ + "gen1", + "gen2", + "gen3" + ] + }, + "public.enum_assets_market_trading_rarity": { + "name": "enum_assets_market_trading_rarity", + "schema": "public", + "values": [ + "basic", + "common", + "uncommon", + "rare", + "veryRare", + "epic", + "legendary", + "unique" + ] + }, + "public.enum_resources_approval_status": { + "name": "enum_resources_approval_status", + "schema": "public", + "values": [ + "in_progress", + "ready_for_review", + "approved", + "rejected", + "revision_requested" + ] + }, + "public.enum_resources_type": { + "name": "enum_resources_type", + "schema": "public", + "values": [ + "physical", + "fluid", + "energy", + "abstract" + ] + }, + "public.enum_resources_rarity": { + "name": "enum_resources_rarity", + "schema": "public", + "values": [ + "common", + "uncommon", + "rare", + "epic", + "legendary", + "exotic", + "unique" + ] + }, + "public.enum_vehicles_category": { + "name": "enum_vehicles_category", + "schema": "public", + "values": [ + "civilian", + "utility", + "transport", + "weaponized", + "military" + ] + }, + "public.enum_vehicles_pylons_pylon_type": { + "name": "enum_vehicles_pylons_pylon_type", + "schema": "public", + "values": [ + "mountedWeapon", + "pylon" + ] + }, + "public.enum_vehicles_approval_status": { + "name": "enum_vehicles_approval_status", + "schema": "public", + "values": [ + "in_progress", + "ready_for_review", + "approved", + "rejected", + "revision_requested" + ] + }, + "public.enum_vehicles_transport_mode": { + "name": "enum_vehicles_transport_mode", + "schema": "public", + "values": [ + "ground", + "air", + "sea" + ] + }, + "public.enum_vehicles_armor_rating": { + "name": "enum_vehicles_armor_rating", + "schema": "public", + "values": [ + "none", + "light", + "medium", + "heavy", + "composite" + ] + }, + "public.enum_structures_staff_positions_position_type": { + "name": "enum_structures_staff_positions_position_type", + "schema": "public", + "values": [ + "administrative", + "technical", + "other" + ] + }, + "public.enum_structures_module_options_effects_type": { + "name": "enum_structures_module_options_effects_type", + "schema": "public", + "values": [ + "capacity_mass", + "production_multiplier", + "storage_slots" + ] + }, + "public.enum_structures_module_options_category": { + "name": "enum_structures_module_options_category", + "schema": "public", + "values": [ + "production", + "logistics", + "defense", + "utility" + ] + }, + "public.enum_structures_approval_status": { + "name": "enum_structures_approval_status", + "schema": "public", + "values": [ + "in_progress", + "ready_for_review", + "approved", + "rejected", + "revision_requested" + ] + }, + "public.enum_structures_category": { + "name": "enum_structures_category", + "schema": "public", + "values": [ + "logistics", + "military", + "civilian" + ] + }, + "public.enum_structures_terrain_type": { + "name": "enum_structures_terrain_type", + "schema": "public", + "values": [ + "land", + "water" + ] + }, + "public.enum_structures_aura_effect_type": { + "name": "enum_structures_aura_effect_type", + "schema": "public", + "values": [ + "production_multiplier", + "capacity_mass" + ] + }, + "public.enum_structures_function_type": { + "name": "enum_structures_function_type", + "schema": "public", + "values": [ + "producer", + "storage", + "sensor", + "converter", + "defense", + "miscellaneous" + ] + }, + "public.enum_shipments_status": { + "name": "enum_shipments_status", + "schema": "public", + "values": [ + "pending", + "dispatched", + "in_transit", + "arrived", + "completed", + "cancelled", + "failed", + "stranded" + ] + }, + "public.enum_bank_accounts_account_type": { + "name": "enum_bank_accounts_account_type", + "schema": "public", + "values": [ + "treasury", + "faction", + "personal" + ] + }, + "public.enum_bank_accounts_status": { + "name": "enum_bank_accounts_status", + "schema": "public", + "values": [ + "open", + "frozen", + "closed" + ] + }, + "public.enum_bank_transactions_type": { + "name": "enum_bank_transactions_type", + "schema": "public", + "values": [ + "deposit", + "withdrawal", + "transfer", + "payment", + "fee", + "salary", + "adjustment" + ] + }, + "public.enum_bank_transactions_status": { + "name": "enum_bank_transactions_status", + "schema": "public", + "values": [ + "completed", + "reversed" + ] + }, + "public.enum_ledger_entries_type": { + "name": "enum_ledger_entries_type", + "schema": "public", + "values": [ + "deposit", + "withdrawal", + "transfer", + "payment", + "fee", + "salary", + "adjustment" + ] + }, + "public.enum_market_listings_status": { + "name": "enum_market_listings_status", + "schema": "public", + "values": [ + "active", + "sold", + "cancelled", + "expired" + ] + }, + "public.enum_market_negotiations_history_from": { + "name": "enum_market_negotiations_history_from", + "schema": "public", + "values": [ + "buyer", + "seller" + ] + }, + "public.enum_market_negotiations_status": { + "name": "enum_market_negotiations_status", + "schema": "public", + "values": [ + "open", + "accepted", + "rejected", + "closed", + "cancelled", + "expired" + ] + }, + "public.enum_market_negotiations_proposed_by": { + "name": "enum_market_negotiations_proposed_by", + "schema": "public", + "values": [ + "buyer", + "seller" + ] + }, + "public.enum_market_state_item_type": { + "name": "enum_market_state_item_type", + "schema": "public", + "values": [ + "resource", + "asset" + ] + }, + "public.enum_voice_scripts_status": { + "name": "enum_voice_scripts_status", + "schema": "public", + "values": [ + "draft", + "open", + "closed" + ] + }, + "public.enum_voice_submissions_status": { + "name": "enum_voice_submissions_status", + "schema": "public", + "values": [ + "pending", + "accepted", + "rejected" + ] + }, + "public.enum_tickets_activity_type": { + "name": "enum_tickets_activity_type", + "schema": "public", + "values": [ + "system", + "agent_message", + "client_message" + ] + }, + "public.enum_tickets_category": { + "name": "enum_tickets_category", + "schema": "public", + "values": [ + "bug_report", + "feature_request", + "support_request", + "other" + ] + }, + "public.enum_tickets_priority": { + "name": "enum_tickets_priority", + "schema": "public", + "values": [ + "low", + "medium", + "high", + "critical" + ] + }, + "public.enum_tickets_status": { + "name": "enum_tickets_status", + "schema": "public", + "values": [ + "open", + "in_review", + "planning", + "in_progress", + "waiting_on_reporter", + "in_testing", + "resolved", + "canceled", + "closed" + ] + }, + "public.enum_tickets_type": { + "name": "enum_tickets_type", + "schema": "public", + "values": [ + "task", + "bug", + "story", + "epic", + "improvement" + ] + }, + "public.enum_tickets_resolution": { + "name": "enum_tickets_resolution", + "schema": "public", + "values": [ + "fixed", + "wontfix", + "duplicate", + "invalid" + ] + }, + "public.enum_wiki_pages_category": { + "name": "enum_wiki_pages_category", + "schema": "public", + "values": [ + "Campaign", + "World", + "Lore", + "Characters", + "Plot", + "Media", + "Guides", + "Meta" + ] + }, + "public.enum_wiki_revisions_type": { + "name": "enum_wiki_revisions_type", + "schema": "public", + "values": [ + "create", + "edit", + "restore" + ] + }, + "public.enum_projects_status": { + "name": "enum_projects_status", + "schema": "public", + "values": [ + "active", + "archived" + ] + }, + "public.enum_sprints_status": { + "name": "enum_sprints_status", + "schema": "public", + "values": [ + "planning", + "active", + "completed" + ] + }, + "public.enum_releases_status": { + "name": "enum_releases_status", + "schema": "public", + "values": [ + "draft", + "in_progress", + "released" + ] + }, + "public.enum_maps_basemap_mode": { + "name": "enum_maps_basemap_mode", + "schema": "public", + "values": [ + "image", + "tiles" + ] + }, + "public.enum_map_roads_surface": { + "name": "enum_map_roads_surface", + "schema": "public", + "values": [ + "paved", + "dirt", + "trail" + ] + }, + "public.enum_map_roads_stroke_style": { + "name": "enum_map_roads_stroke_style", + "schema": "public", + "values": [ + "solid", + "dashed", + "dotted" + ] + }, + "public.enum_map_zones_type": { + "name": "enum_map_zones_type", + "schema": "public", + "values": [ + "water", + "land", + "territory", + "border", + "other" + ] + }, + "public.enum_narrative_events_triggers_type": { + "name": "enum_narrative_events_triggers_type", + "schema": "public", + "values": [ + "manual", + "mission_complete", + "timer", + "condition" + ] + }, + "public.enum_story_beats_status": { + "name": "enum_story_beats_status", + "schema": "public", + "values": [ + "draft", + "published" + ] + }, + "public.enum_story_beat_states_reaction": { + "name": "enum_story_beat_states_reaction", + "schema": "public", + "values": [ + "like", + "heart", + "salute" + ] + }, + "public.enum_game_servers_status": { + "name": "enum_game_servers_status", + "schema": "public", + "values": [ + "online", + "offline" + ] + }, + "public.enum_arma_commands_status": { + "name": "enum_arma_commands_status", + "schema": "public", + "values": [ + "queued", + "delivered", + "succeeded", + "failed" + ] + }, + "public.enum_operation_events_status": { + "name": "enum_operation_events_status", + "schema": "public", + "values": [ + "validated", + "rejected", + "dead-letter" + ] + }, + "public.enum_operation_effects_effect_type": { + "name": "enum_operation_effects_effect_type", + "schema": "public", + "values": [ + "operation.started", + "operation.ended", + "operation.objective-updated", + "operation.extraction-recorded", + "operation.inventory-recorded" + ] + }, + "public.enum_operation_effects_status": { + "name": "enum_operation_effects_status", + "schema": "public", + "values": [ + "applied", + "pending", + "failed", + "reversed" + ] + }, + "public.enum_operation_reservations_status": { + "name": "enum_operation_reservations_status", + "schema": "public", + "values": [ + "reserved", + "settled", + "cancelled", + "expired", + "no-show" + ] + }, + "public.enum_operation_readiness_subject_type": { + "name": "enum_operation_readiness_subject_type", + "schema": "public", + "values": [ + "user", + "role" + ] + }, + "public.enum_operation_readiness_nature": { + "name": "enum_operation_readiness_nature", + "schema": "public", + "values": [ + "advisory" + ] + }, + "public.enum_custom_radio_tests_order": { + "name": "enum_custom_radio_tests_order", + "schema": "public", + "values": [ + "fixed", + "shuffled" + ] + }, + "public.enum_custom_radio_test_scores_mode": { + "name": "enum_custom_radio_test_scores_mode", + "schema": "public", + "values": [ + "sprint", + "watch" + ] + }, + "public.enum_plugin_ai_instructions_field_type": { + "name": "enum_plugin_ai_instructions_field_type", + "schema": "public", + "values": [ + "text", + "textarea", + "upload", + "richText" + ] + }, + "public.enum_plugin_ai_instructions_model_id": { + "name": "enum_plugin_ai_instructions_model_id", + "schema": "public", + "values": [ + "unsloth-text" + ] + }, + "public.enum_shims_shims_targeting_roles": { + "name": "enum_shims_shims_targeting_roles", + "schema": "public", + "values": [ + "guest", + "user", + "trusted", + "admin", + "developer" + ] + }, + "public.enum_shims_shims_type": { + "name": "enum_shims_shims_type", + "schema": "public", + "values": [ + "css", + "js" + ] + }, + "public.enum_shims_shims_targeting_audience": { + "name": "enum_shims_shims_targeting_audience", + "schema": "public", + "values": [ + "all", + "percentage", + "users", + "roles" + ] + }, + "public.enum_shims_shims_paths_match_type": { + "name": "enum_shims_shims_paths_match_type", + "schema": "public", + "values": [ + "all", + "include", + "exclude" + ] + } + }, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "id": "6276b129-63d1-47a3-91a4-cace08478b22", + "prevId": "00000000-0000-0000-0000-000000000000" +} \ No newline at end of file diff --git a/src/migrations/20260920_044743_add_zone_pressure.ts b/src/migrations/20260920_044743_add_zone_pressure.ts new file mode 100644 index 0000000..761272a --- /dev/null +++ b/src/migrations/20260920_044743_add_zone_pressure.ts @@ -0,0 +1,59 @@ +import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres' + +export async function up({ db, payload, req }: MigrateUpArgs): Promise { + await db.execute(sql` + ALTER TYPE "public"."enum_roles_permissions" ADD VALUE 'zone-pressure:create' BEFORE 'game-rules:read'; + ALTER TYPE "public"."enum_roles_permissions" ADD VALUE 'zone-pressure:read' BEFORE 'game-rules:read'; + ALTER TYPE "public"."enum_roles_permissions" ADD VALUE 'zone-pressure:update' BEFORE 'game-rules:read'; + ALTER TYPE "public"."enum_roles_permissions" ADD VALUE 'zone-pressure:delete' BEFORE 'game-rules:read'; + ALTER TYPE "public"."enum_roles_permissions" ADD VALUE 'admin:zone-pressure:manage' BEFORE 'game-rules:read'; + CREATE TABLE "zone_pressure" ( + "id" serial PRIMARY KEY NOT NULL, + "zone_id" integer NOT NULL, + "faction_id" integer, + "operation_id" varchar NOT NULL, + "mission_id" integer, + "source_effect_id" integer NOT NULL, + "delta" numeric NOT NULL, + "note" varchar, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL + ); + + ALTER TABLE "payload_mcp_api_keys" ADD COLUMN "zone_pressure_find" boolean DEFAULT false; + ALTER TABLE "payload_mcp_api_keys" ADD COLUMN "zone_pressure_create" boolean DEFAULT false; + ALTER TABLE "payload_mcp_api_keys" ADD COLUMN "zone_pressure_update" boolean DEFAULT false; + ALTER TABLE "payload_mcp_api_keys" ADD COLUMN "zone_pressure_delete" boolean DEFAULT false; + ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "zone_pressure_id" integer; + ALTER TABLE "zone_pressure" ADD CONSTRAINT "zone_pressure_zone_id_map_zones_id_fk" FOREIGN KEY ("zone_id") REFERENCES "public"."map_zones"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "zone_pressure" ADD CONSTRAINT "zone_pressure_faction_id_factions_id_fk" FOREIGN KEY ("faction_id") REFERENCES "public"."factions"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "zone_pressure" ADD CONSTRAINT "zone_pressure_mission_id_missions_id_fk" FOREIGN KEY ("mission_id") REFERENCES "public"."missions"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "zone_pressure" ADD CONSTRAINT "zone_pressure_source_effect_id_operation_effects_id_fk" FOREIGN KEY ("source_effect_id") REFERENCES "public"."operation_effects"("id") ON DELETE set null ON UPDATE no action; + CREATE INDEX "zone_pressure_zone_idx" ON "zone_pressure" USING btree ("zone_id"); + CREATE INDEX "zone_pressure_faction_idx" ON "zone_pressure" USING btree ("faction_id"); + CREATE INDEX "zone_pressure_operation_id_idx" ON "zone_pressure" USING btree ("operation_id"); + CREATE INDEX "zone_pressure_mission_idx" ON "zone_pressure" USING btree ("mission_id"); + CREATE UNIQUE INDEX "zone_pressure_source_effect_idx" ON "zone_pressure" USING btree ("source_effect_id"); + CREATE INDEX "zone_pressure_updated_at_idx" ON "zone_pressure" USING btree ("updated_at"); + CREATE INDEX "zone_pressure_created_at_idx" ON "zone_pressure" USING btree ("created_at"); + ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_zone_pressure_fk" FOREIGN KEY ("zone_pressure_id") REFERENCES "public"."zone_pressure"("id") ON DELETE cascade ON UPDATE no action; + CREATE INDEX "payload_locked_documents_rels_zone_pressure_id_idx" ON "payload_locked_documents_rels" USING btree ("zone_pressure_id");`) +} + +export async function down({ db, payload, req }: MigrateDownArgs): Promise { + await db.execute(sql` + ALTER TABLE "zone_pressure" DISABLE ROW LEVEL SECURITY; + DROP TABLE "zone_pressure" CASCADE; + ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_zone_pressure_fk"; + + ALTER TABLE "roles_permissions" ALTER COLUMN "value" SET DATA TYPE text; + DROP TYPE "public"."enum_roles_permissions"; + CREATE TYPE "public"."enum_roles_permissions" AS ENUM('system:admin-access', 'media:create', 'media:read', 'media:update', 'media:delete', 'admin:media:manage', 'users:create', 'users:read', 'users:update', 'users:delete', 'users:unlock', 'users:assign-roles', 'admin:users:manage', 'roles:create', 'roles:read', 'roles:update', 'roles:delete', 'admin:roles:manage', 'ranks:create', 'ranks:read', 'ranks:update', 'ranks:delete', 'admin:ranks:manage', 'profiles:create', 'profiles:read', 'profiles:update', 'profiles:delete', 'admin:profiles:manage', 'awards:create', 'awards:read', 'awards:update', 'awards:delete', 'admin:awards:manage', 'qualifications:create', 'qualifications:read', 'qualifications:update', 'qualifications:delete', 'admin:qualifications:manage', 'assignments:create', 'assignments:read', 'assignments:update', 'assignments:delete', 'admin:assignments:manage', 'assignment-transfers:create', 'assignment-transfers:read', 'assignment-transfers:update', 'assignment-transfers:delete', 'admin:assignment-transfers:manage', 'experience:create', 'experience:read', 'experience:update', 'experience:delete', 'admin:experience:manage', 'user-notifications:create', 'user-notifications:read', 'user-notifications:update', 'user-notifications:delete', 'admin:user-notifications:manage', 'evaluations:create', 'evaluations:read', 'evaluations:update', 'evaluations:delete', 'admin:evaluations:manage', 'missions:create', 'missions:read', 'missions:update', 'missions:delete', 'missions:read-sensitive', 'admin:missions:manage', 'mission-attendances:create', 'mission-attendances:read', 'mission-attendances:update', 'mission-attendances:delete', 'admin:mission-attendances:manage', 'campaigns:create', 'campaigns:read', 'campaigns:update', 'campaigns:delete', 'admin:campaigns:manage', 'campaigns:manage', 'factions:create', 'factions:read', 'factions:update', 'factions:delete', 'admin:factions:manage', 'technologies:create', 'technologies:read', 'technologies:update', 'technologies:delete', 'admin:technologies:manage', 'assets:create', 'assets:read', 'assets:update', 'assets:delete', 'admin:assets:manage', 'resources:create', 'resources:read', 'resources:update', 'resources:delete', 'admin:resources:manage', 'vehicles:create', 'vehicles:read', 'vehicles:update', 'vehicles:delete', 'admin:vehicles:manage', 'structures:create', 'structures:read', 'structures:update', 'structures:delete', 'admin:structures:manage', 'shipments:create', 'shipments:read', 'shipments:update', 'shipments:delete', 'admin:shipments:manage', 'bank-accounts:create', 'bank-accounts:read', 'bank-accounts:update', 'bank-accounts:delete', 'admin:bank-accounts:manage', 'bank-transactions:create', 'bank-transactions:read', 'bank-transactions:update', 'bank-transactions:delete', 'admin:bank-transactions:manage', 'ledger-entries:create', 'ledger-entries:read', 'ledger-entries:update', 'ledger-entries:delete', 'admin:ledger-entries:manage', 'locker-storages:create', 'locker-storages:read', 'locker-storages:update', 'locker-storages:delete', 'admin:locker-storages:manage', 'loadouts:create', 'loadouts:read', 'loadouts:update', 'loadouts:delete', 'admin:loadouts:manage', 'market-listings:create', 'market-listings:read', 'market-listings:update', 'market-listings:delete', 'admin:market-listings:manage', 'market-negotiations:create', 'market-negotiations:read', 'market-negotiations:update', 'market-negotiations:delete', 'admin:market-negotiations:manage', 'market-state:create', 'market-state:read', 'market-state:update', 'market-state:delete', 'admin:market-state:manage', 'projects:create', 'projects:read', 'projects:update', 'projects:delete', 'admin:projects:manage', 'labels:create', 'labels:read', 'labels:update', 'labels:delete', 'admin:labels:manage', 'sprints:create', 'sprints:read', 'sprints:update', 'sprints:delete', 'admin:sprints:manage', 'releases:create', 'releases:read', 'releases:update', 'releases:delete', 'admin:releases:manage', 'tickets:create', 'tickets:read', 'tickets:update', 'tickets:delete', 'admin:tickets:manage', 'ticket-votes:create', 'ticket-votes:read', 'ticket-votes:update', 'ticket-votes:delete', 'admin:ticket-votes:manage', 'game-structures:create', 'game-structures:read', 'game-structures:update', 'game-structures:delete', 'admin:game-structures:manage', 'game-vehicles:create', 'game-vehicles:read', 'game-vehicles:update', 'game-vehicles:delete', 'admin:game-vehicles:manage', 'game-npcs:create', 'game-npcs:read', 'game-npcs:update', 'game-npcs:delete', 'admin:game-npcs:manage', 'game-hard-resources:create', 'game-hard-resources:read', 'game-hard-resources:update', 'game-hard-resources:delete', 'admin:game-hard-resources:manage', 'game-event-logs:create', 'game-event-logs:read', 'game-event-logs:update', 'game-event-logs:delete', 'admin:game-event-logs:manage', 'maps:create', 'maps:read', 'maps:update', 'maps:delete', 'admin:maps:manage', 'map-roads:read', 'admin:map-roads:manage', 'map-zones:read', 'admin:map-zones:manage', 'resource-nodes:read', 'admin:resource-nodes:manage', 'narrative-events:create', 'narrative-events:read', 'narrative-events:update', 'narrative-events:delete', 'admin:narrative-events:manage', 'mission-files:create', 'mission-files:read', 'mission-files:update', 'mission-files:delete', 'admin:mission-files:manage', 'mod-lists:create', 'mod-lists:read', 'mod-lists:update', 'mod-lists:delete', 'admin:mod-lists:manage', 'game-servers:create', 'game-servers:read', 'game-servers:update', 'game-servers:delete', 'admin:game-servers:manage', 'arma-sync-events:create', 'arma-sync-events:read', 'arma-sync-events:update', 'arma-sync-events:delete', 'admin:arma-sync-events:manage', 'arma-commands:create', 'arma-commands:read', 'arma-commands:update', 'arma-commands:delete', 'admin:arma-commands:manage', 'operation-events:create', 'operation-events:read', 'operation-events:update', 'operation-events:delete', 'admin:operation-events:manage', 'operation-effects:create', 'operation-effects:read', 'operation-effects:update', 'operation-effects:delete', 'admin:operation-effects:manage', 'operation-reservations:create', 'operation-reservations:read', 'operation-reservations:update', 'operation-reservations:delete', 'admin:operation-reservations:manage', 'operation-readiness:create', 'operation-readiness:read', 'operation-readiness:update', 'operation-readiness:delete', 'admin:operation-readiness:manage', 'game-rules:read', 'game-rules:update', 'shims:read', 'shims:update', 'logistics:manage', 'intelligence:manage', 'profiles:intel_excerpt:update', 'banking:manage', 'tickets:staff', 'discord:staff', 'discord:announce', 'custom-minefields:update', 'custom-minefields:delete', 'custom-minefield-scores:delete', 'custom-radio-tests:update', 'custom-radio-tests:delete', 'custom-radio-test-scores:delete'); + ALTER TABLE "roles_permissions" ALTER COLUMN "value" SET DATA TYPE "public"."enum_roles_permissions" USING "value"::"public"."enum_roles_permissions"; + DROP INDEX "payload_locked_documents_rels_zone_pressure_id_idx"; + ALTER TABLE "payload_mcp_api_keys" DROP COLUMN "zone_pressure_find"; + ALTER TABLE "payload_mcp_api_keys" DROP COLUMN "zone_pressure_create"; + ALTER TABLE "payload_mcp_api_keys" DROP COLUMN "zone_pressure_update"; + ALTER TABLE "payload_mcp_api_keys" DROP COLUMN "zone_pressure_delete"; + ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "zone_pressure_id";`) +} diff --git a/tests/int/operation-readiness.int.spec.ts b/tests/int/operation-readiness.int.spec.ts new file mode 100644 index 0000000..1ed26b3 --- /dev/null +++ b/tests/int/operation-readiness.int.spec.ts @@ -0,0 +1,352 @@ +import { getPayload, Payload } from "payload"; +import config from "@/payload.config"; +import { afterAll, beforeAll, describe, expect, it } from "vitest"; +import { computeReadiness, getReadiness, type ReadinessScope } from "@/lib/operations/readiness"; +import { READINESS_CALCULATION_VERSION } from "@/lib/operations/readinessTypes"; + +let payload: Payload; +const RUN = `ready-${Date.now().toString(36)}`; + +// --------------------------------------------------------------------------- +// Fixture tracking for cleanup +// --------------------------------------------------------------------------- +const syncEventIds: number[] = []; +const opEventIds: number[] = []; +const opEffectIds: number[] = []; +const userIds: number[] = []; +const roleIds: number[] = []; +const missionIds: number[] = []; +const attendanceIds: number[] = []; +const evaluationIds: number[] = []; +const campaignIds: number[] = []; +const mapIds: number[] = []; +const readinessIds: number[] = []; +let serverId: number; +let subjectId: number; +let raterId: number; +let adminId: number; +let mapId: number; +let campaignId: number; +let windowStart: Date; +let windowEnd: Date; + +// --------------------------------------------------------------------------- +// Helpers +// --------------------------------------------------------------------------- +async function makeUser(label: string, roleDocIds?: number[]): Promise { + const user = await payload.create({ + collection: "users", + data: { + username: `${RUN}-${label}`, + discordUsername: `${RUN}-${label}-discord`, + displayName: `${RUN} ${label}`, + steamId: `${RUN}-steam-${label}`, + password: "Test1234", + ...(roleDocIds && roleDocIds.length > 0 ? { roleDocs: roleDocIds } : {}), + }, + overrideAccess: true, + depth: 0, + }); + userIds.push(user.id); + return user.id; +} + +async function makeMission(label: string, authorId: number): Promise { + const mission = await payload.create({ + collection: "missions", + data: { + name: `${RUN} ${label}`, + codeName: `${RUN}-${label}`, + summary: "Readiness test mission", + operationType: "main", + classification: { + map: mapId, + missionType: "PvE", + campaign: campaignId, + startDateTime: new Date(Date.now() + 86_400_000).toISOString(), + estimatedDuration: 60, + }, + ownershipAndStatus: { + authors: [authorId], + status: "Scheduled", + visibility: "unit", + }, + missionRoles: { maxPlayers: 16 }, + gameDetails: { serverDetails: { serverIp: "127.0.0.1", serverPort: 2302 } }, + briefing: [], + }, + overrideAccess: true, + depth: 0, + }); + missionIds.push(mission.id); + return mission.id; +} + +async function makeAttendance(missionId: number, userId: number): Promise { + const doc = await payload.create({ + collection: "mission-attendances", + data: { mission: missionId, user: userId, response: "yes" }, + overrideAccess: true, + depth: 0, + }); + attendanceIds.push(doc.id); + return doc.id; +} + +async function makeEvaluation(missionId: number, ratee: number): Promise { + const doc = await payload.create({ + collection: "evaluations", + data: { rater: raterId, ratee, mission: missionId, kind: "leader-direct", level: "proficient" }, + overrideAccess: true, + depth: 0, + }); + evaluationIds.push(doc.id); + return doc.id; +} + +async function makeObjectiveEvent(label: string, actor: number): Promise { + const sync = await payload.create({ + collection: "arma-sync-events", + data: { + eventId: `${RUN}-${label}`, + server: serverId, + type: "operation.objective", + occurredAt: new Date().toISOString(), + payload: { operationId: RUN, version: 1, objective: "Cache secured", actorId: actor }, + }, + overrideAccess: true, + depth: 0, + }); + syncEventIds.push(sync.id); + const events = await payload.find({ + collection: "operation-events", + where: { sourceEvent: { equals: sync.id } }, + limit: 1, + depth: 0, + overrideAccess: true, + }); + opEventIds.push(events.docs[0].id); + const effects = await payload.find({ + collection: "operation-effects", + where: { operationEvent: { equals: events.docs[0].id } }, + limit: 1, + depth: 0, + overrideAccess: true, + }); + opEffectIds.push(effects.docs[0].id); +} + +function scopeFor(windowStart: Date, windowEnd: Date): ReadinessScope { + return { + subjectType: "user", + subjectId, + windowStart, + windowEnd, + windowLabel: `${RUN}-window`, + operationId: RUN, + }; +} + +// --------------------------------------------------------------------------- +// Setup / teardown +// --------------------------------------------------------------------------- +beforeAll(async () => { + const payloadConfig = await config; + payload = await getPayload({ config: payloadConfig }); + + // One shared, minute-floored window: the aggregate identity is + // `subjectType:subjectId:windowStart`, so every test that expects to find + // another test's row must use the exact same windowStart instant. + const flooredMinute = Math.floor(Date.now() / 60_000) * 60_000; + windowStart = new Date(flooredMinute - 3_600_000); + windowEnd = new Date(flooredMinute + 3_600_000); + + const superRole = await payload.create({ + collection: "roles", + data: { name: `${RUN} Readiness Admin`, slug: `${RUN}-readiness-admin`, isSuperuser: true }, + overrideAccess: true, + depth: 0, + }); + roleIds.push(superRole.id); + + const server = await payload.create({ + collection: "game-servers", + data: { serverId: `${RUN}-srv`, name: `${RUN} Server`, status: "online" }, + overrideAccess: true, + depth: 0, + }); + serverId = server.id; + + subjectId = await makeUser("subject"); + raterId = await makeUser("rater"); + adminId = await makeUser("admin", [superRole.id]); + + const map = await payload.create({ + collection: "maps", + data: { name: `${RUN} Map`, worldSizeWidth: 8192, worldSizeHeight: 8192, basemapMode: "image" }, + overrideAccess: true, + depth: 0, + }); + mapId = map.id; + mapIds.push(map.id); + + const campaign = await payload.create({ + collection: "campaigns", + data: { + name: `${RUN} Campaign`, + summary: "Readiness test campaign", + status: "concept", + campaignMode: "custom", + }, + overrideAccess: true, + depth: 0, + }); + campaignId = campaign.id; + campaignIds.push(campaign.id); +}); + +afterAll(async () => { + if (!payload) return; + const readinessRows = await payload.find({ + collection: "operation-readiness", + where: { operationId: { equals: RUN } }, + limit: 100, + depth: 0, + overrideAccess: true, + }); + for (const row of readinessRows.docs) { + await payload.delete({ collection: "operation-readiness", id: row.id, overrideAccess: true }).catch(() => {}); + } + for (const id of opEffectIds) { + await payload.delete({ collection: "operation-effects", id, overrideAccess: true }).catch(() => {}); + } + for (const id of opEventIds) { + await payload.delete({ collection: "operation-events", id, overrideAccess: true }).catch(() => {}); + } + for (const id of syncEventIds) { + await payload.delete({ collection: "arma-sync-events", id, overrideAccess: true }).catch(() => {}); + } + for (const id of evaluationIds) { + await payload.delete({ collection: "evaluations", id, overrideAccess: true }).catch(() => {}); + } + for (const id of attendanceIds) { + await payload.delete({ collection: "mission-attendances", id, overrideAccess: true }).catch(() => {}); + } + for (const id of missionIds) { + await payload.delete({ collection: "missions", id, overrideAccess: true }).catch(() => {}); + } + for (const id of campaignIds) { + await payload.delete({ collection: "campaigns", id, overrideAccess: true }).catch(() => {}); + } + for (const id of mapIds) { + await payload.delete({ collection: "maps", id, overrideAccess: true }).catch(() => {}); + } + for (const id of userIds) { + await payload.delete({ collection: "users", id, overrideAccess: true }).catch(() => {}); + } + for (const id of roleIds) { + await payload.delete({ collection: "roles", id, overrideAccess: true }).catch(() => {}); + } +}); + +// --------------------------------------------------------------------------- +// Tests +// --------------------------------------------------------------------------- +describe("Operation readiness", () => { + it("computes a deterministic aggregate from window inputs and stores it with an explanation", async () => { + const mission = await makeMission("Alpha", adminId); + await makeAttendance(mission, subjectId); + await makeEvaluation(mission, subjectId); + await makeObjectiveEvent("obj-1", subjectId); + + const now = new Date(); + const result = (await computeReadiness(payload, scopeFor(windowStart, windowEnd))) as { + id: number; + readinessScore: number; + planningConfidenceScore: number; + contributingCategories: { category: string; weight: number; score: number; inputCount: number }[]; + calculationVersion: string; + nature: string; + explanation: string; + }; + readinessIds.push(result.id); + + const categories = result.contributingCategories.map((c) => c.category); + expect(categories).toContain("attendance"); + expect(categories).toContain("evaluation"); + expect(categories).toContain("objectives"); + expect(result.calculationVersion).toBe(READINESS_CALCULATION_VERSION); + expect(result.nature).toBe("advisory"); + + const attendance = result.contributingCategories.find((c) => c.category === "attendance"); + expect(attendance?.inputCount).toBe(1); + expect(attendance?.score).toBe(34); + + const evaluation = result.contributingCategories.find((c) => c.category === "evaluation"); + expect(evaluation?.score).toBe(70); + + expect(result.explanation).toContain("Attendance"); + expect(result.explanation).not.toContain(raterDisplayName()); + expect(result.explanation).not.toContain("evaluator"); + }); + + it("returns the stored row unchanged when inputs are unchanged (no drift)", async () => { + const first = (await computeReadiness(payload, scopeFor(windowStart, windowEnd))) as { id: number; readinessScore: number }; + const second = (await computeReadiness(payload, scopeFor(windowStart, windowEnd))) as { id: number; readinessScore: number }; + expect(second.id).toBe(first.id); + expect(second.readinessScore).toBe(first.readinessScore); + }); + + it("replaces the stored aggregate atomically when inputs change", async () => { + const scope = scopeFor(windowStart, windowEnd); + const before = (await computeReadiness(payload, scope)) as { id: number; readinessScore: number }; + + const missions = missionIds; + await makeAttendance(missions[0], subjectId); + + const after = (await computeReadiness(payload, scope)) as { + id: number; + readinessScore: number; + contributingCategories: { category: string; inputCount: number }[]; + }; + expect(after.id).toBe(before.id); + const attendance = after.contributingCategories.find((c) => c.category === "attendance"); + expect(attendance?.inputCount).toBe(2); + expect(after.readinessScore).not.toBe(before.readinessScore); + }); + + it("excludes inputs outside the window and omits absent categories", async () => { + const future = scopeFor(new Date(Date.now() + 86_400_000), new Date(Date.now() + 7 * 86_400_000)); + const result = (await computeReadiness(payload, future)) as { + readinessScore: number; + contributingCategories: unknown[]; + explanation: string; + }; + expect(result.contributingCategories).toHaveLength(0); + expect(result.readinessScore).toBe(0); + expect(result.explanation).toContain("No qualifying operation data"); + }); + + it("gates reads behind the readiness permission without leaking evaluator content", async () => { + const scope = scopeFor(windowStart, windowEnd); + + const forbidden = await getReadiness(payload, { subjectType: "user", subjectId, windowStart: scope.windowStart }, { + id: raterId, + }); + expect(forbidden.status).toBe("forbidden"); + + const allowed = await getReadiness(payload, { subjectType: "user", subjectId, windowStart: scope.windowStart }, { + id: adminId, + }); + expect(allowed.status).toBe("ok"); + const data = allowed.data as { explanation: string; rater?: unknown; evaluator?: unknown; comment?: unknown }; + expect(data.explanation).not.toContain(raterDisplayName()); + expect(data.rater).toBeUndefined(); + expect(data.evaluator).toBeUndefined(); + expect(data.comment).toBeUndefined(); + }); +}); + +function raterDisplayName(): string { + return `${RUN} rater`; +} diff --git a/tests/int/operation-territory.int.spec.ts b/tests/int/operation-territory.int.spec.ts new file mode 100644 index 0000000..71eaaf4 --- /dev/null +++ b/tests/int/operation-territory.int.spec.ts @@ -0,0 +1,258 @@ +import { getPayload, Payload } from "payload"; +import config from "@/payload.config"; +import { afterAll, beforeAll, describe, expect, it } from "vitest"; +import { applyZonePressure, computeZoneState, PRESSURE_OUTCOME_DELTAS } from "@/lib/operations/territory"; + +let payload: Payload; +const RUN = `terr-${Date.now().toString(36)}`; +const DAY = 86_400_000; + +// --------------------------------------------------------------------------- +// Fixture tracking for cleanup +// --------------------------------------------------------------------------- +const syncEventIds: number[] = []; +const opEventIds: number[] = []; +const opEffectIds: number[] = []; +const zoneIds: number[] = []; +const pressureRowIds: number[] = []; +const userIds: number[] = []; +let factionId: number; +let mapId: number; +let serverId: number; +let zoneAId: number; +let zoneBId: number; +let zoneCId: number; + +// --------------------------------------------------------------------------- +// Helpers +// --------------------------------------------------------------------------- +/** Full hook chain: raw op.end sync event -> validated event -> effect -> + * settlement (handleOperationEnd) -> one attributed pressure delta. */ +async function endOperation(label: string, outcome: string, zoneId: number): Promise { + const sync = await payload.create({ + collection: "arma-sync-events", + data: { + eventId: `${RUN}-${label}`, + server: serverId, + type: "operation.end", + occurredAt: new Date().toISOString(), + payload: { operationId: RUN, version: 1, outcome, zoneId, factionId, actorId: userIds[0] }, + }, + overrideAccess: true, + depth: 0, + }); + syncEventIds.push(sync.id); + + const events = await payload.find({ + collection: "operation-events", + where: { sourceEvent: { equals: sync.id } }, + limit: 1, + depth: 0, + overrideAccess: true, + }); + expect(events.docs).toHaveLength(1); + opEventIds.push(events.docs[0].id); + + const effects = await payload.find({ + collection: "operation-effects", + where: { operationEvent: { equals: events.docs[0].id } }, + limit: 1, + depth: 0, + overrideAccess: true, + }); + expect(effects.docs).toHaveLength(1); + opEffectIds.push(effects.docs[0].id); + return effects.docs[0].id; +} + +async function pressureRowCount(zoneId: number): Promise { + const rows = await payload.find({ + collection: "zone-pressure", + where: { zone: { equals: zoneId } }, + limit: 100, + depth: 0, + overrideAccess: true, + }); + return rows.docs.length; +} + +// --------------------------------------------------------------------------- +// Setup / teardown +// --------------------------------------------------------------------------- +beforeAll(async () => { + const payloadConfig = await config; + payload = await getPayload({ config: payloadConfig }); + + const actor = await payload.create({ + collection: "users", + data: { + username: `${RUN}-actor`, + discordUsername: `${RUN}-actor-discord`, + displayName: `${RUN} Actor`, + steamId: `${RUN}-steam-actor`, + password: "Test1234", + }, + overrideAccess: true, + depth: 0, + }); + userIds.push(actor.id); + + const faction = await payload.create({ + collection: "factions", + data: { name: `${RUN} Hostiles`, type: "majorFaction" }, + overrideAccess: true, + depth: 0, + }); + factionId = faction.id; + + const server = await payload.create({ + collection: "game-servers", + data: { serverId: `${RUN}-srv`, name: `${RUN} Server`, status: "online" }, + overrideAccess: true, + depth: 0, + }); + serverId = server.id; + + const map = await payload.create({ + collection: "maps", + data: { name: `${RUN} Map`, worldSizeWidth: 8192, worldSizeHeight: 8192, basemapMode: "image" }, + overrideAccess: true, + depth: 0, + }); + mapId = map.id; + + for (const label of ["alpha", "bravo", "charlie"] as const) { + const zone = await payload.create({ + collection: "map-zones", + data: { + name: `${RUN} Zone ${label.toUpperCase()}`, + map: mapId, + type: "territory", + points: [ + [0, 0], + [100, 0], + [100, 100], + [0, 100], + ], + }, + overrideAccess: true, + depth: 0, + }); + zoneIds.push(zone.id); + if (label === "alpha") zoneAId = zone.id; + if (label === "bravo") zoneBId = zone.id; + if (label === "charlie") zoneCId = zone.id; + } +}); + +afterAll(async () => { + if (!payload) return; + const pressureRows = await payload.find({ + collection: "zone-pressure", + where: { operationId: { equals: RUN } }, + limit: 100, + depth: 0, + overrideAccess: true, + }); + for (const row of pressureRows.docs) { + await payload.delete({ collection: "zone-pressure", id: row.id, overrideAccess: true }).catch(() => {}); + } + for (const id of opEffectIds) { + await payload.delete({ collection: "operation-effects", id, overrideAccess: true }).catch(() => {}); + } + for (const id of opEventIds) { + await payload.delete({ collection: "operation-events", id, overrideAccess: true }).catch(() => {}); + } + for (const id of syncEventIds) { + await payload.delete({ collection: "arma-sync-events", id, overrideAccess: true }).catch(() => {}); + } + for (const id of zoneIds) { + await payload.delete({ collection: "map-zones", id, overrideAccess: true }).catch(() => {}); + } + await payload.delete({ collection: "maps", id: mapId, overrideAccess: true }).catch(() => {}); + await payload.delete({ collection: "factions", id: factionId, overrideAccess: true }).catch(() => {}); + await payload.delete({ collection: "game-servers", id: serverId, overrideAccess: true }).catch(() => {}); + for (const id of userIds) { + await payload.delete({ collection: "users", id, overrideAccess: true }).catch(() => {}); + } +}); + +// --------------------------------------------------------------------------- +// Tests +// --------------------------------------------------------------------------- +describe("Zone pressure (task 7)", () => { + it("applies hostile pressure once for a failed operation and replays as a no-op", async () => { + const effectId = await endOperation("fail-1", "failed", zoneAId); + + const state = await computeZoneState(payload, zoneAId); + expect(state.pressure).toBe(PRESSURE_OUTCOME_DELTAS.failure); + expect(state.state).toBe("contested"); + expect(state.routeRiskMultiplier).toBe(1.25); + expect(state.yieldMultiplier).toBe(0.9); + expect(state.activeRows).toBe(1); + + const replay = await applyZonePressure(payload, { + zoneId: zoneAId, + factionId, + operationId: RUN, + sourceEffectId: effectId, + delta: PRESSURE_OUTCOME_DELTAS.failure, + }); + expect(replay.created).toBe(false); + expect(await pressureRowCount(zoneAId)).toBe(1); + }); + + it("walks the full arc: contested after failure, recovering after a successful push", async () => { + await endOperation("fail-b", "failed", zoneBId); + const contested = await computeZoneState(payload, zoneBId); + expect(contested.state).toBe("contested"); + + await endOperation("success-b", "success", zoneBId); + const recovering = await computeZoneState(payload, zoneBId); + expect(recovering.pressure).toBe(15); + expect(recovering.state).toBe("recovering"); + expect(recovering.routeRiskMultiplier).toBe(1); + expect(recovering.yieldMultiplier).toBe(1); + }); + + it("reaches hostile control at the documented threshold", async () => { + await endOperation("fail-2", "failed", zoneAId); + const controlled = await computeZoneState(payload, zoneAId); + expect(controlled.pressure).toBe(80); + expect(controlled.state).toBe("controlled"); + expect(controlled.routeRiskMultiplier).toBe(1.5); + expect(controlled.yieldMultiplier).toBe(0.75); + }); + + it("decays deterministically, halving per elapsed period", async () => { + const now = Date.now(); + const plusOnePeriod = await computeZoneState(payload, zoneAId, new Date(now + 7 * DAY + 3_600_000)); + expect(plusOnePeriod.pressure).toBe(40); + expect(plusOnePeriod.state).toBe("contested"); + + const plusTwoPeriods = await computeZoneState(payload, zoneAId, new Date(now + 14 * DAY + 3_600_000)); + expect(plusTwoPeriods.pressure).toBe(20); + expect(plusTwoPeriods.state).toBe("recovering"); + + const plusTenPeriods = await computeZoneState(payload, zoneAId, new Date(now + 70 * DAY + 3_600_000)); + expect(plusTenPeriods.pressure).toBeLessThan(1); + expect(plusTenPeriods.state).toBe("neutral"); + }); + + it("never touches zones the operation did not declare", async () => { + const untouched = await computeZoneState(payload, zoneCId); + expect(untouched.pressure).toBe(0); + expect(untouched.state).toBe("neutral"); + expect(untouched.activeRows).toBe(0); + expect(await pressureRowCount(zoneCId)).toBe(0); + }); + + it("keeps placement semantics independent of pressure (pure helpers only)", () => { + // Placement rules live in src/lib/map/placement.ts (terrain + resources), + // which pressure never imports or mutates. This assertion documents the + // boundary: state thresholds are the ONLY pressure inputs to downstream + // multipliers. + expect(PRESSURE_OUTCOME_DELTAS.failure).toBe(40); + expect(PRESSURE_OUTCOME_DELTAS.success).toBe(-25); + }); +});