gitfoss-fork | a2f58b50019904ecb5048350d3f2d94d697905ea | app/services/pullRequest/getPullRequestById.ts ∙ GitFOSS
.ts
TypeScript
(application/typescript)
// 1st-party
import type { ServiceMethodFactory } from "@ethicdevs/react-monolith";
// generated via script[generate:prisma]
import type { PullRequest } from "@prisma/client";
// service
import type {
  PullRequestSelectOrIncludes,
  PullRequestServiceDeps,
} from "./types";

const getPullRequestById: ServiceMethodFactory<
  PullRequestServiceDeps,
  [string, PullRequestSelectOrIncludes | undefined],
  Promise<PullRequest | null>
> = ({ request }) => {
  return async (pullRequestId, selectOrIncludes) => {
    const pullRequest = await request.prisma.pullRequest.findUnique({
      ...(selectOrIncludes || {}),
      where: {
        id: pullRequestId,
      },
    });

    return pullRequest;
  };
};

export default getPullRequestById;