import { relations } from "drizzle-orm";
{{imports}}

import { createId } from "@/lib/id";

export const {{tableObj.pluralCamelCase}} = pgTable(
  "{{tableObj.pluralSnakeCase}}",
  {
{{columns}}
  }
)

export type Select{{tableObj.singularPascalCase}} = typeof {{tableObj.pluralCamelCase}}.$inferSelect;
export type Insert{{tableObj.singularPascalCase}} = typeof {{tableObj.pluralCamelCase}}.$inferInsert;

export const {{tableObj.pluralCamelCase}}Relations = relations({{tableObj.pluralCamelCase}}, ({ one, many }) => ({
  {{#each referencesColumnList}}
  {{this.referenceTableVars.singularCamelCase}}: one({{this.referenceTableVars.pluralCamelCase}}, {
    fields: [{{../tableObj.pluralCamelCase}}.{{this.caseVariants.originalCamelCase}}],
    references: [{{this.referenceTableVars.pluralCamelCase}}.id]
  }),
  {{/each}}
}));
