add more detail to user
This commit is contained in:
@@ -5,4 +5,5 @@ export const Config = {
|
||||
sms_api_verify_endpoint: "https://otp.thaibulksms.com/v2/otp/verify",
|
||||
jwt_secret:
|
||||
"T4kE6/tIqCVEZYg9lwsqeJjYfOoXTXSXDEMyParsJjj57CjSdkrfPOLWP74/9lJpcBA=",
|
||||
token_duration: "365d",
|
||||
};
|
||||
|
||||
@@ -4,16 +4,26 @@ import {
|
||||
integer,
|
||||
primaryKey,
|
||||
unique,
|
||||
index,
|
||||
} from "drizzle-orm/sqlite-core";
|
||||
import { relations, sql } from "drizzle-orm";
|
||||
|
||||
//----------------User
|
||||
export const user = sqliteTable("users", {
|
||||
export const user = sqliteTable(
|
||||
"users",
|
||||
{
|
||||
id: integer("id", { mode: "number" }).primaryKey({ autoIncrement: true }),
|
||||
firstName: text("firstName").notNull(),
|
||||
lastName: text("lastName").notNull(),
|
||||
title: text("title").notNull(),
|
||||
cid: text("cid", { length: 13 }).notNull().unique(),
|
||||
age: integer("age").notNull(),
|
||||
phone: text("phone").unique().notNull(),
|
||||
public_phone: text("public_phone"),
|
||||
facebook: text("facebook"),
|
||||
twitter: text("twitter"),
|
||||
tiktok: text("tiktok"),
|
||||
otherSocial: text("other_social"),
|
||||
email: text("email"),
|
||||
job: text("job").notNull(),
|
||||
education: text("education").notNull(),
|
||||
@@ -25,7 +35,11 @@ export const user = sqliteTable("users", {
|
||||
zone: integer("zone_id")
|
||||
.notNull()
|
||||
.references(() => zone.id),
|
||||
});
|
||||
},
|
||||
(t) => ({
|
||||
phone_idx: index("phone_idx").on(t.phone),
|
||||
})
|
||||
);
|
||||
|
||||
export const userRelation = relations(user, ({ many, one }) => ({
|
||||
opinions: many(userOpinion),
|
||||
|
||||
@@ -13,7 +13,9 @@ import { Config } from "./config";
|
||||
import { TRPCError } from "@trpc/server";
|
||||
import * as jwt from "jsonwebtoken";
|
||||
|
||||
const userInsertSchema = createInsertSchema(user);
|
||||
const userInsertSchema = createInsertSchema(user, {
|
||||
cid: (schema) => schema.cid.length(13),
|
||||
});
|
||||
const opinionInsertSchema = createInsertSchema(userOpinion)
|
||||
.omit({
|
||||
userId: true,
|
||||
@@ -190,7 +192,7 @@ async function verifyOtp(token: string, pin: string) {
|
||||
} else {
|
||||
await db.delete(phoneToken).where(eq(phoneToken.phone, pt.phone));
|
||||
const token = jwt.sign({ phone: pt.phone }, Config.jwt_secret, {
|
||||
expiresIn: "3d",
|
||||
expiresIn: "365d",
|
||||
});
|
||||
return token;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user