feat(auth) : sync Sudloh profiles and validate sessions
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { eq } from "drizzle-orm";
|
||||
import { and, eq } from "drizzle-orm";
|
||||
import sharp from "sharp";
|
||||
import { getDb } from "@/db";
|
||||
import { users } from "@/db/schema";
|
||||
import { accounts, users } from "@/db/schema";
|
||||
import { requireCommissionUser } from "@/lib/commission/server";
|
||||
import { inspectImage } from "@/lib/media/inspect";
|
||||
import { getMediaStorage, publicMediaUrl } from "@/lib/media/storage";
|
||||
@@ -15,6 +15,9 @@ export async function POST(request: Request) {
|
||||
try {
|
||||
requireSameOrigin(request);
|
||||
const user = await requireCommissionUser();
|
||||
const [sudloh] = await getDb().select({ id: accounts.id }).from(accounts)
|
||||
.where(and(eq(accounts.userId, user.id), eq(accounts.providerId, "sudloh"))).limit(1);
|
||||
if (sudloh) throw new HttpError(403, "manage-profile-at-sudloh");
|
||||
await limitRequest("profile-update", user.id, 20);
|
||||
if (!request.headers.get("content-type")?.startsWith("multipart/form-data;"))
|
||||
throw new HttpError(415, "expected-multipart");
|
||||
|
||||
Reference in New Issue
Block a user