import type { ServiceMethodFactory } from "@ethicdevs/react-monolith";
import { Organization, Repository } from "@prisma/client";
import type { OrganizationServiceDeps } from "./types";
const getOrganizationRepositories: ServiceMethodFactory<
OrganizationServiceDeps,
[Organization],
Promise<(Repository & { parentOrg: Organization })[]>
> = ({ request }) => {
return async (org) => {
const orgRepos = await request.prisma.repository.findMany({
include: {
organization: true,
},
where: {
organization: {
id: org.id,
},
},
});
return orgRepos.map(({ organization: parentOrg, ...repo }) => ({
...repo,
parentOrg,
}));
};
};
export default getOrganizationRepositories;