From 37232fc39ffc3647a97f4e16a2fb84888a22ecd6 Mon Sep 17 00:00:00 2001 From: Lanskikh Date: Thu, 19 Jun 2025 14:03:15 +0500 Subject: [PATCH] upd --- .env | 2 +- src/db/schema/apps.ts | 4 +-- src/db/schema/clients.ts | 43 +++++++++++++++++++++---- src/db/schema/comments.ts | 12 +++---- src/db/schema/companies.ts | 4 +-- src/db/schema/index.ts | 2 +- src/db/schema/{users.ts => managers.ts} | 8 +++-- src/db/schema/sessions.ts | 12 +++---- src/db/schema/tokens.ts | 12 +++---- src/index.ts | 12 +++---- 10 files changed, 72 insertions(+), 39 deletions(-) rename src/db/schema/{users.ts => managers.ts} (78%) diff --git a/.env b/.env index 6c40c06..408febe 100644 --- a/.env +++ b/.env @@ -1,5 +1,5 @@ PORT=3001 DB_URL=postgres://postgres:v1sq3vD5faXL@194.26.138.94:5432/mate HMAC_SECRET=9a9ccda5db157ccfd04b4094264c55f58097f85d1fd6c22fbab0a86680dd3efd -API_URL=http://192.168.1.122:3000 +API_URL=http://192.168.1.224:3000 COMPANY_ID=2a4f54db-7a1f-42c2-a965-3b185d92b063 diff --git a/src/db/schema/apps.ts b/src/db/schema/apps.ts index 1cfc488..9bc1ac9 100644 --- a/src/db/schema/apps.ts +++ b/src/db/schema/apps.ts @@ -47,10 +47,10 @@ export const appsToServers = pgTable( { appId: uuid("app_id") .notNull() - .references(() => appsTable.id), + .references(() => appsTable.id, { onDelete: "cascade" }), serverId: uuid("server_id") .notNull() - .references(() => serversTable.id), + .references(() => serversTable.id, { onDelete: "cascade" }), }, (t) => [primaryKey({ columns: [t.appId, t.serverId] })] ); diff --git a/src/db/schema/clients.ts b/src/db/schema/clients.ts index 59a82da..dd4319e 100644 --- a/src/db/schema/clients.ts +++ b/src/db/schema/clients.ts @@ -1,17 +1,20 @@ -import { pgTable, timestamp, uuid, varchar } from "drizzle-orm/pg-core"; +import { + pgTable, + primaryKey, + timestamp, + uuid, + varchar, +} from "drizzle-orm/pg-core"; import { companiesTable } from "./companies"; import { relations } from "drizzle-orm"; import { sessionsTable } from "./sessions"; -import { usersTable } from "./users"; +import { managersTable } from "./managers"; export const clientsTable = pgTable("clients", { id: uuid("id").defaultRandom().primaryKey(), name: varchar("name").notNull(), - phone: varchar("phone", { length: 11 }).notNull(), + phone: varchar("phone", { length: 11 }).unique().notNull(), email: varchar("email"), - ownerId: uuid("owner_id") - .notNull() - .references(() => usersTable.id, { onDelete: "cascade" }), companyId: uuid("company_id") .notNull() .references(() => companiesTable.id, { onDelete: "cascade" }), @@ -30,4 +33,32 @@ export const clientsRelations = relations(clientsTable, ({ one, many }) => ({ references: [companiesTable.id], }), sessions: many(sessionsTable), + managers: many(clientsToManagers), })); + +export const clientsToManagers = pgTable( + "clients_to_managers", + { + clientId: uuid("client_id") + .notNull() + .references(() => clientsTable.id, { onDelete: "cascade" }), + managerId: uuid("manager_id") + .notNull() + .references(() => managersTable.id, { onDelete: "cascade" }), + }, + (t) => [primaryKey({ columns: [t.clientId, t.managerId] })] +); + +export const clientsToManagersRelations = relations( + clientsToManagers, + ({ one }) => ({ + client: one(clientsTable, { + fields: [clientsToManagers.clientId], + references: [clientsTable.id], + }), + manager: one(managersTable, { + fields: [clientsToManagers.managerId], + references: [managersTable.id], + }), + }) +); diff --git a/src/db/schema/comments.ts b/src/db/schema/comments.ts index b2ce13f..6cbee09 100644 --- a/src/db/schema/comments.ts +++ b/src/db/schema/comments.ts @@ -1,5 +1,5 @@ import { pgTable, text, timestamp, uuid } from "drizzle-orm/pg-core"; -import { usersTable } from "./users"; +import { managersTable } from "./managers"; import { sessionsTable } from "./sessions"; import { relations } from "drizzle-orm"; @@ -8,18 +8,18 @@ export const commentsTable = pgTable("comments", { text: text("text").notNull(), createdAt: timestamp("created_at").notNull().defaultNow(), updatedAt: timestamp("updated_at").notNull().defaultNow(), - ownerId: uuid("owner_id") + managerId: uuid("manager_id") .notNull() - .references(() => usersTable.id, { onDelete: "cascade" }), + .references(() => managersTable.id, { onDelete: "cascade" }), sessionId: uuid("session_id") .notNull() .references(() => sessionsTable.id, { onDelete: "cascade" }), }); export const commentsRelations = relations(commentsTable, ({ one }) => ({ - owner: one(usersTable, { - fields: [commentsTable.ownerId], - references: [usersTable.id], + manager: one(managersTable, { + fields: [commentsTable.managerId], + references: [managersTable.id], }), session: one(sessionsTable, { fields: [commentsTable.sessionId], diff --git a/src/db/schema/companies.ts b/src/db/schema/companies.ts index 10b7840..2eece42 100644 --- a/src/db/schema/companies.ts +++ b/src/db/schema/companies.ts @@ -1,6 +1,6 @@ import { relations } from "drizzle-orm"; import { pgTable, timestamp, uuid, varchar } from "drizzle-orm/pg-core"; -import { usersTable } from "./users"; +import { managersTable } from "./managers"; import { appsTable } from "./apps"; import { serversTable } from "./servers"; @@ -17,7 +17,7 @@ export const companiesTable = pgTable("companies", { }); export const companiesRelations = relations(companiesTable, ({ many }) => ({ - users: many(usersTable), + managers: many(managersTable), servers: many(serversTable), apps: many(appsTable), })); diff --git a/src/db/schema/index.ts b/src/db/schema/index.ts index 44967f9..7705f6e 100644 --- a/src/db/schema/index.ts +++ b/src/db/schema/index.ts @@ -1,4 +1,4 @@ -export * from "./users"; +export * from "./managers"; export * from "./tokens"; export * from "./companies"; export * from "./servers"; diff --git a/src/db/schema/users.ts b/src/db/schema/managers.ts similarity index 78% rename from src/db/schema/users.ts rename to src/db/schema/managers.ts index 456499d..8f8a0d3 100644 --- a/src/db/schema/users.ts +++ b/src/db/schema/managers.ts @@ -3,8 +3,9 @@ import { pgTable, text, timestamp, uuid, varchar } from "drizzle-orm/pg-core"; import { tokensTable } from "./tokens"; import { companiesTable } from "./companies"; import { commentsTable } from "./comments"; +import { clientsToManagers } from "./clients"; -export const usersTable = pgTable("users", { +export const managersTable = pgTable("managers", { id: uuid("id").defaultRandom().primaryKey(), fullname: text("fullname"), email: varchar("email").unique().notNull(), @@ -21,11 +22,12 @@ export const usersTable = pgTable("users", { .$onUpdate(() => new Date()), }); -export const usersRelations = relations(usersTable, ({ one, many }) => ({ +export const managersRelations = relations(managersTable, ({ one, many }) => ({ company: one(companiesTable, { - fields: [usersTable.companyId], + fields: [managersTable.companyId], references: [companiesTable.id], }), tokens: many(tokensTable), comments: many(commentsTable), + clients: many(clientsToManagers), })); diff --git a/src/db/schema/sessions.ts b/src/db/schema/sessions.ts index 8d9f06f..bb114bf 100644 --- a/src/db/schema/sessions.ts +++ b/src/db/schema/sessions.ts @@ -7,7 +7,7 @@ import { integer, } from "drizzle-orm/pg-core"; import { companiesTable } from "./companies"; -import { usersTable } from "./users"; +import { managersTable } from "./managers"; import { relations } from "drizzle-orm"; import { serversTable } from "./servers"; import { clientsTable } from "./clients"; @@ -28,9 +28,9 @@ export const sessionsTable = pgTable( appId: uuid("app_id") .notNull() .references(() => appsTable.id, { onDelete: "cascade" }), - ownerId: uuid("owner_id") + managerId: uuid("manager_id") .notNull() - .references(() => usersTable.id, { onDelete: "cascade" }), + .references(() => managersTable.id, { onDelete: "cascade" }), serverId: uuid("server_id") .notNull() .references(() => serversTable.id, { onDelete: "cascade" }), @@ -56,9 +56,9 @@ export const sessionsTable = pgTable( ); export const sessionsRelations = relations(sessionsTable, ({ one, many }) => ({ - owner: one(usersTable, { - fields: [sessionsTable.ownerId], - references: [usersTable.id], + manager: one(managersTable, { + fields: [sessionsTable.managerId], + references: [managersTable.id], }), server: one(serversTable, { fields: [sessionsTable.serverId], diff --git a/src/db/schema/tokens.ts b/src/db/schema/tokens.ts index 3bda9b0..8d4527f 100644 --- a/src/db/schema/tokens.ts +++ b/src/db/schema/tokens.ts @@ -1,13 +1,13 @@ import { relations } from "drizzle-orm"; import { pgTable, text, timestamp, uuid } from "drizzle-orm/pg-core"; -import { usersTable } from "./users"; +import { managersTable } from "./managers"; export const tokensTable = pgTable("tokens", { id: uuid("id").defaultRandom().primaryKey(), token: text("token").notNull(), - userId: uuid("user_id") + managerId: uuid("manager_id") .notNull() - .references(() => usersTable.id, { onDelete: "cascade" }), + .references(() => managersTable.id, { onDelete: "cascade" }), createdAt: timestamp("created_at", { withTimezone: true }) .notNull() .defaultNow(), @@ -18,8 +18,8 @@ export const tokensTable = pgTable("tokens", { }); export const tokensRelations = relations(tokensTable, ({ one }) => ({ - user: one(usersTable, { - fields: [tokensTable.userId], - references: [usersTable.id], + manager: one(managersTable, { + fields: [tokensTable.managerId], + references: [managersTable.id], }), })); diff --git a/src/index.ts b/src/index.ts index f91ba8f..9d93850 100644 --- a/src/index.ts +++ b/src/index.ts @@ -8,7 +8,7 @@ import cron from "node-cron"; import { exec, execFile } from "child_process"; import { createHmac } from "crypto"; import got from "got"; -import { readdirSync, readFile, readFileSync } from "fs"; +import { readdirSync } from "fs"; import treeKill from "tree-kill"; type Session = typeof sessionsTable.$inferSelect & { @@ -296,10 +296,10 @@ serve({ fetch: () => new Response("venom"), }); -async function runSummarization() { - try { - const res = execFile("C://neuro/summary.exe"); - } catch (error) {} -} +// async function runSummarization() { +// try { +// const res = execFile("C://neuro/summary.exe"); +// } catch (error) {} +// } console.log("Server is running at http://localhost:3001");