import { Document, Types } from 'mongoose';
import { IPaginateModel } from '@/shared/interfaces/model.interface';
import { AuditFields } from '@/shared/types/common';

export interface IMasterBank extends AuditFields {
  name: string;
  nameLower: string;
  company?: Types.ObjectId;
}

export type IMasterBankDoc = IMasterBank & Document;

export interface IMasterBankModel extends IPaginateModel<IMasterBankDoc> {}

export type NewCreatedMasterBank = Pick<IMasterBank, 'name' | 'nameLower'> &
  Partial<Pick<AuditFields, 'createdBy' | 'updatedBy'>>;

export type UpdateMasterBankBody = Partial<IMasterBank>;
