mirror of
https://github.com/fosrl/pangolin.git
synced 2026-03-13 10:23:02 +00:00
Compare commits
4 Commits
1.16.2-s.4
...
delete-dom
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f29c77b640 | ||
|
|
4692cdbc72 | ||
|
|
549c5d517d | ||
|
|
9021030862 |
@@ -328,14 +328,6 @@ export const approvals = pgTable("approvals", {
|
|||||||
.notNull()
|
.notNull()
|
||||||
});
|
});
|
||||||
|
|
||||||
export const bannedEmails = pgTable("bannedEmails", {
|
|
||||||
email: varchar("email", { length: 255 }).primaryKey(),
|
|
||||||
});
|
|
||||||
|
|
||||||
export const bannedIps = pgTable("bannedIps", {
|
|
||||||
ip: varchar("ip", { length: 255 }).primaryKey(),
|
|
||||||
});
|
|
||||||
|
|
||||||
export type Approval = InferSelectModel<typeof approvals>;
|
export type Approval = InferSelectModel<typeof approvals>;
|
||||||
export type Limit = InferSelectModel<typeof limits>;
|
export type Limit = InferSelectModel<typeof limits>;
|
||||||
export type Account = InferSelectModel<typeof account>;
|
export type Account = InferSelectModel<typeof account>;
|
||||||
|
|||||||
@@ -318,15 +318,6 @@ export const approvals = sqliteTable("approvals", {
|
|||||||
.notNull()
|
.notNull()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
export const bannedEmails = sqliteTable("bannedEmails", {
|
|
||||||
email: text("email").primaryKey()
|
|
||||||
});
|
|
||||||
|
|
||||||
export const bannedIps = sqliteTable("bannedIps", {
|
|
||||||
ip: text("ip").primaryKey()
|
|
||||||
});
|
|
||||||
|
|
||||||
export type Approval = InferSelectModel<typeof approvals>;
|
export type Approval = InferSelectModel<typeof approvals>;
|
||||||
export type Limit = InferSelectModel<typeof limits>;
|
export type Limit = InferSelectModel<typeof limits>;
|
||||||
export type Account = InferSelectModel<typeof account>;
|
export type Account = InferSelectModel<typeof account>;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { NextFunction, Request, Response } from "express";
|
import { NextFunction, Request, Response } from "express";
|
||||||
import { bannedEmails, bannedIps, db, users } from "@server/db";
|
import { db, users } from "@server/db";
|
||||||
import HttpCode from "@server/types/HttpCode";
|
import HttpCode from "@server/types/HttpCode";
|
||||||
import { email, z } from "zod";
|
import { email, z } from "zod";
|
||||||
import { fromError } from "zod-validation-error";
|
import { fromError } from "zod-validation-error";
|
||||||
@@ -66,30 +66,6 @@ export async function signup(
|
|||||||
skipVerificationEmail
|
skipVerificationEmail
|
||||||
} = parsedBody.data;
|
} = parsedBody.data;
|
||||||
|
|
||||||
const [bannedEmail] = await db
|
|
||||||
.select()
|
|
||||||
.from(bannedEmails)
|
|
||||||
.where(eq(bannedEmails.email, email))
|
|
||||||
.limit(1);
|
|
||||||
if (bannedEmail) {
|
|
||||||
return next(
|
|
||||||
createHttpError(HttpCode.FORBIDDEN, "Signup blocked. Do not attempt to continue to use this service.")
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (req.ip) {
|
|
||||||
const [bannedIp] = await db
|
|
||||||
.select()
|
|
||||||
.from(bannedIps)
|
|
||||||
.where(eq(bannedIps.ip, req.ip))
|
|
||||||
.limit(1);
|
|
||||||
if (bannedIp) {
|
|
||||||
return next(
|
|
||||||
createHttpError(HttpCode.FORBIDDEN, "Signup blocked. Do not attempt to continue to use this service.")
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const passwordHash = await hashPassword(password);
|
const passwordHash = await hashPassword(password);
|
||||||
const userId = generateId(15);
|
const userId = generateId(15);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user