import type { BaseResponse } from "@/shared/types/SharedTypes";

export type DesignerRequestFormValues = {
  title: string;
  count: number | "";
  desc: string;
  expectedDate: string;
  attachments: File[];
};

export type DesignRequestInitiateParams = Omit<
  DesignerRequestFormValues,
  "attachments" | "count"
> & {
  count?: number;
  attachments: string[];
};

export type DesignRequestBusinessType = {
  id: string;
  createdAt: string;
  updatedAt: string;
  deletedAt: string | null;
  danakSubscriptionId: string;
  name: string;
  slug: string;
  domain: string | null;
  isDomainVerified: boolean;
  domainVerificationToken: string | null;
  domainVerifiedAt: string | null;
  logoUrl: string | null;
  maxCataloguesCount: number;
  admin: string;
};

export type DesignRequestType = {
  id: string;
  createdAt: string;
  updatedAt: string;
  title: string;
  count: number;
  desc: string;
  expectedDate: string;
  attachments: string[];
  invoiceId: string;
  business: DesignRequestBusinessType;
};

export type RequestDesignResponse = BaseResponse<DesignRequestType>;

export type RequestDesignItemType = {
  id: string;
  createdAt: string;
  updatedAt: string;
  deletedAt: string | null;
  title: string;
  count: number;
  desc: string;
  expectedDate: string;
  attachments: string[];
  invoiceId: string;
  paidAt: string | null;
  business: string;
};

export type DesignRequestsResponse = BaseResponse<RequestDesignItemType[]>;