.ts
TypeScript
(application/typescript)
// 1st-party
import type { ServiceMethodFactory } from "@ethicdevs/react-monolith";
// generated via script[generate:prisma]
import { User } from "@prisma/client";
// app
import type { UsersServiceDeps } from "./types";

const getUserById: ServiceMethodFactory<
  UsersServiceDeps,
  [string],
  Promise<User | null>
> = ({ request }) => {
  return async (userId) => {
    const user = await request.prisma.user.findUnique({
      where: {
        id: userId,
      },
    });

    return user;
  };
};

export default getUserById;