@tomei/rental
Version:
Tomei Rental Package
72 lines (71 loc) • 3.9 kB
TypeScript
import { ObjectBase } from '@tomei/general';
import { RentalHirerChangeRequestRepository } from './rental-hirer-change-request.repository';
import { LoginUser } from '@tomei/sso';
import { HirerChangeRequestTypeEnum } from '../../enum/rental-hirer-change-request-type';
import { HirerChangeRequestStatusEnum } from '../../enum/rental-hirer-change-request-status';
import { IRentalHirerChangeRequestAttr, IRentalHirerChangeRequestUpdate } from '../../interfaces';
import { Rental } from '../rental/rental';
import { HirerChangeRequestHirerRoleEnum } from '../../enum';
import { JointHirerRepository } from '../../components/joint-hirer/joint-hirer.repository';
import { HirerChangeRequestSignatureRepository } from '../hirer-change-request-signature/hirer-change-request-signature.repository';
import { HirerChangeRequestSignature } from '../hirer-change-request-signature/hirer-change-request-signature';
import { HirerChangeRequestNewHirer } from '../hirer-change-request-new-hirer/hirer-change-request-new-hirer';
import { HirerChangeRequestRemoveHirer } from '../hirer-change-request-remove-hirer/hirer-change-request-remove-hirer';
export declare class RentalHirerChangeRequest extends ObjectBase implements IRentalHirerChangeRequestAttr {
ObjectId: string;
ObjectName: string;
ObjectType: string;
TableName: string;
RentalId: string;
Type: HirerChangeRequestTypeEnum;
Status: HirerChangeRequestStatusEnum;
RequestedAt: Date;
RequestedById: string;
RequestingHirerId: string;
RequestingHirerType: HirerChangeRequestHirerRoleEnum;
CancelRemarks: string;
UpdatedAt: Date;
UpdatedById: string;
Signatures: HirerChangeRequestSignature[];
Rental: Rental | null;
get RequestId(): string;
set RequestId(value: string);
protected static _Repository: RentalHirerChangeRequestRepository;
protected static _HirerSignatureRepository: HirerChangeRequestSignatureRepository;
protected static _JointHirerRepository: JointHirerRepository;
protected constructor(hirerChangeRequestAttr?: IRentalHirerChangeRequestAttr);
toJSON(): IRentalHirerChangeRequestAttr;
static init(requestId?: string, dbTransaction?: any): Promise<RentalHirerChangeRequest>;
private checkForDuplicate;
getSignatures(dbTransaction: any): Promise<HirerChangeRequestSignature[]>;
private checkIsAllSigned;
private create;
update(loginUser: LoginUser, dbTransaction: any, params: IRentalHirerChangeRequestUpdate): Promise<this>;
generateSignatures(loginUser: LoginUser, dbTransaction?: any): Promise<void>;
createAddRequest(newHirer: {
FullName: string;
IdNo: string;
IdType: string;
Email?: string;
ContactNo: string;
Relationship: string;
Address: string;
City: string;
State: string;
Postcode: string;
Country: string;
}, loginUser: LoginUser, dbTransaction?: any): Promise<{
hirerChangeRequest: RentalHirerChangeRequest;
NewHirer: HirerChangeRequestNewHirer;
}>;
createRemoveRequest(loginUser: LoginUser, dbTransaction: any, targetHirerId: string): Promise<{
hirerChangeRequest: RentalHirerChangeRequest;
RemoveHirer: HirerChangeRequestRemoveHirer;
}>;
static findAll(loginUser: LoginUser, dbTransaction: any, rentalId: string): Promise<RentalHirerChangeRequest[]>;
getNewHirer(dbTransaction: any): Promise<HirerChangeRequestNewHirer>;
getRemoveHirer(dbTransaction: any): Promise<HirerChangeRequestRemoveHirer>;
sign(loginUser: LoginUser, dbTransaction: any, signatureId: string): Promise<HirerChangeRequestSignature>;
complete(loginUser: LoginUser, dbTransaction: any, customerId?: string, customerType?: string): Promise<RentalHirerChangeRequest>;
cancel(loginUser: LoginUser, dbTransaction: any, cancelRemarks: string): Promise<RentalHirerChangeRequest>;
}