upd: upsert apps

This commit is contained in:
2025-06-05 14:24:22 +05:00
parent 2b1e2fedd4
commit f408328771
2 changed files with 47 additions and 32 deletions
+34 -19
View File
@@ -1,26 +1,41 @@
import { pgTable, timestamp, uuid, varchar } from "drizzle-orm/pg-core";
import {
pgTable,
timestamp,
uniqueIndex,
uuid,
varchar,
} from "drizzle-orm/pg-core";
import { companiesTable } from "./companies";
import { relations } from "drizzle-orm";
import { serversTable } from "./servers";
export const appsTable = pgTable("apps", {
id: uuid("id").defaultRandom().primaryKey(),
name: varchar("name").notNull(),
fileName: varchar("filename").notNull(),
serverId: uuid("server_id")
.notNull()
.references(() => serversTable.id),
companyId: uuid("company_id")
.notNull()
.references(() => companiesTable.id),
createdAt: timestamp("created_at", { withTimezone: true })
.notNull()
.defaultNow(),
updatedAt: timestamp("updated_at", { withTimezone: true })
.notNull()
.defaultNow()
.$onUpdate(() => new Date()),
});
export const appsTable = pgTable(
"apps",
{
id: uuid("id").defaultRandom().primaryKey(),
name: varchar("name").notNull(),
fileName: varchar("filename").notNull(),
serverId: uuid("server_id")
.notNull()
.references(() => serversTable.id),
companyId: uuid("company_id")
.notNull()
.references(() => companiesTable.id),
createdAt: timestamp("created_at", { withTimezone: true })
.notNull()
.defaultNow(),
updatedAt: timestamp("updated_at", { withTimezone: true })
.notNull()
.defaultNow()
.$onUpdate(() => new Date()),
},
(table) => ({
uniqueFileNameServerId: uniqueIndex("unique_file_name_server_id").on(
table.fileName,
table.serverId
),
})
);
export const appsRelations = relations(appsTable, ({ one }) => ({
company: one(companiesTable, {