seomix.

Расширение сессии Auth.js

// Импортируем объект `prisma` из файла "./prisma".
// `prisma` предоставляет интерфейс для взаимодействия с базой данных через Prisma ORM.
import { prisma } from "./prisma";

// Асинхронная функция `getUserByEmail`, которая принимает адрес электронной почты в качестве аргумента.
export const getUserByEmail = async (email: string) => {
  try {
    // Используем метод `prisma.user.findUnique` для поиска уникальной записи пользователя в базе данных по полю email.
    const user = await prisma.user.findUnique({
      where: {
        // Задаем критерий поиска - объект с полем `email`.
        email: email,
      },
      // Определяем, какие поля пользователя нужно вернуть из базы данных:
      // `name` и `emailVerified` (проверен ли email).
      select: {
        name: true,
        emailVerified: true,
      },
    });

    // Возвращаем найденного пользователя (объект).
    return user;
  } catch {
    // Если произошла ошибка (например, пользователь не найден), возвращаем `null`.
    return null;
  }
};

// Асинхронная функция `getUserById`, которая принимает идентификатор пользователя как аргумент.
export const getUserById = async (id: string) => {
  try {
    // Ищем уникального пользователя по его идентификатору с помощью метода `prisma.user.findUnique`.
    const user = await prisma.user.findUnique({ where: { id } });

    // Возвращаем найденного пользователя.
    return user;
  } catch {
    // Если произошла ошибка (например, пользователь не найден), возвращаем `null`.
    return null;
  }
};

 

Auth.js
Next.js

Обсудим ваш проект?

Не ждите идеального момента или подходящего времени — начинайте прямо сейчас! Свяжитесь со мной, и я помогу воплотить ваши идеи в реальность.