import { api } from "./api.ts";
import { Nullable } from "./apiTypes.ts";

// Typescript: TSEndpoint= path=/metrics;  name=metrics; method=GET; response=string
// internal/systemUtils/routes.go Line: 41
export const metrics = async (): Promise<{
  data: string;
  error: Nullable<string>;
}> => {
  return (await api.GET("/metrics")) as {
    data: string;
    error: Nullable<string>;
  };
};

// Typescript: TSEndpoint= path=/maildebug; name=mailDebug; method=GET; response=[]MailDebugItem
// internal/systemUtils/routes.go Line: 53
export const mailDebug = async (): Promise<{
  data: MailDebugItem[];
  error: Nullable<string>;
}> => {
  return (await api.GET("/maildebug")) as {
    data: MailDebugItem[];
    error: Nullable<string>;
  };
};

// Typescript: TSEndpoint= path=/health; name=health; method=GET; response=string
// internal/systemUtils/routes.go Line: 38
export const health = async (): Promise<{
  data: string;
  error: Nullable<string>;
}> => {
  return (await api.GET("/health")) as {
    data: string;
    error: Nullable<string>;
  };
};

export interface MailDebugItem {
  name: string;
  content: string;
}
