.ts
TypeScript
(application/typescript)
// 1st-party
import { ServiceApiContract } from "@ethicdevs/react-monolith";
// 3rd-party
import { FastifyRequest } from "fastify";
// generated via script[generate:prisma]
import { Organization, Prisma } from "@prisma/client";

// service
export interface OrganizationServiceAPI extends ServiceApiContract {
  getOrganizationById(
    orgId: string,
    include?: Prisma.OrganizationInclude
  ): Promise<Organization | null>;
  getOrganizationBySlug(
    orgSlug: string,
    include?: Prisma.OrganizationInclude
  ): Promise<Organization | null>;
}

export interface OrganizationServiceDeps {
  request: FastifyRequest;
}