Improve user registration and data handling for new features
Improves password hashing and adds schema relations for appointments, connections, reviews, and availability. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 556aa286-edd2-4cea-8583-f4fc3cfd119b Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/81470e0d-8ae8-4335-9301-cd9a69e670fa/8e77b04a-d19f-45af-9f57-84d64672fc92.jpg
This commit is contained in:
+21
-1
@@ -1,4 +1,4 @@
|
||||
import { pgTable, text, serial, integer, boolean, timestamp, numeric, varchar, uuid, json } from "drizzle-orm/pg-core";
|
||||
import { pgTable, text, serial, integer, boolean, timestamp, numeric, varchar, uuid, json, pgEnum, time, decimal } from "drizzle-orm/pg-core";
|
||||
import { relations } from "drizzle-orm";
|
||||
import { createInsertSchema, createSelectSchema } from "drizzle-zod";
|
||||
import { z } from "zod";
|
||||
@@ -167,6 +167,26 @@ export const userPreferencesRelations = relations(userPreferences, ({ one }) =>
|
||||
user: one(users, { fields: [userPreferences.userId], references: [users.id] }),
|
||||
}));
|
||||
|
||||
export const availabilityRelations = relations(availability, ({ one }) => ({
|
||||
professional: one(users, { fields: [availability.professionalId], references: [users.id] }),
|
||||
}));
|
||||
|
||||
export const appointmentsRelations = relations(appointments, ({ one }) => ({
|
||||
professional: one(users, { fields: [appointments.professionalId], references: [users.id] }),
|
||||
client: one(users, { fields: [appointments.clientId], references: [users.id] }),
|
||||
}));
|
||||
|
||||
export const connectionsRelations = relations(connections, ({ one }) => ({
|
||||
requester: one(users, { fields: [connections.requesterId], references: [users.id] }),
|
||||
receiver: one(users, { fields: [connections.receiverId], references: [users.id] }),
|
||||
}));
|
||||
|
||||
export const reviewsRelations = relations(reviews, ({ one }) => ({
|
||||
professional: one(users, { fields: [reviews.professionalId], references: [users.id] }),
|
||||
client: one(users, { fields: [reviews.clientId], references: [users.id] }),
|
||||
appointment: one(appointments, { fields: [reviews.appointmentId], references: [appointments.id] }),
|
||||
}));
|
||||
|
||||
// Zod schemas for validation
|
||||
export const insertUserSchema = createInsertSchema(users).omit({
|
||||
id: true,
|
||||
|
||||
Reference in New Issue
Block a user