ClearVision/types/controllers/InsuranceController.d.ts

65 lines
3.3 KiB
TypeScript
Raw Normal View History

2022-07-09 16:03:26 -04:00
import { DialogueHelper } from "../helpers/DialogueHelper";
import { ItemHelper } from "../helpers/ItemHelper";
import { ProfileHelper } from "../helpers/ProfileHelper";
import { IPmcData } from "../models/eft/common/IPmcData";
2023-05-30 19:24:58 -04:00
import { Item } from "../models/eft/common/tables/IItem";
2022-07-09 16:03:26 -04:00
import { IGetInsuranceCostRequestData } from "../models/eft/insurance/IGetInsuranceCostRequestData";
2022-10-06 23:29:01 -04:00
import { IGetInsuranceCostResponseData } from "../models/eft/insurance/IGetInsuranceCostResponseData";
2022-07-09 16:03:26 -04:00
import { IInsureRequestData } from "../models/eft/insurance/IInsureRequestData";
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
import { IInsuranceConfig } from "../models/spt/config/IInsuranceConfig";
import { ILogger } from "../models/spt/utils/ILogger";
2022-11-20 14:59:15 -05:00
import { EventOutputHolder } from "../routers/EventOutputHolder";
2022-07-09 16:03:26 -04:00
import { ConfigServer } from "../servers/ConfigServer";
import { DatabaseServer } from "../servers/DatabaseServer";
import { SaveServer } from "../servers/SaveServer";
import { InsuranceService } from "../services/InsuranceService";
import { PaymentService } from "../services/PaymentService";
import { RandomUtil } from "../utils/RandomUtil";
import { TimeUtil } from "../utils/TimeUtil";
export declare class InsuranceController {
protected logger: ILogger;
protected randomUtil: RandomUtil;
2022-11-20 14:59:15 -05:00
protected eventOutputHolder: EventOutputHolder;
2022-07-09 16:03:26 -04:00
protected timeUtil: TimeUtil;
protected saveServer: SaveServer;
protected databaseServer: DatabaseServer;
protected itemHelper: ItemHelper;
protected profileHelper: ProfileHelper;
protected dialogueHelper: DialogueHelper;
protected paymentService: PaymentService;
protected insuranceService: InsuranceService;
protected configServer: ConfigServer;
protected insuranceConfig: IInsuranceConfig;
2022-11-20 14:59:15 -05:00
constructor(logger: ILogger, randomUtil: RandomUtil, eventOutputHolder: EventOutputHolder, timeUtil: TimeUtil, saveServer: SaveServer, databaseServer: DatabaseServer, itemHelper: ItemHelper, profileHelper: ProfileHelper, dialogueHelper: DialogueHelper, paymentService: PaymentService, insuranceService: InsuranceService, configServer: ConfigServer);
2023-05-18 15:57:25 -04:00
/**
* Process insurance items prior to being given to player in mail
*/
2022-07-09 16:03:26 -04:00
processReturn(): void;
2023-05-30 19:24:58 -04:00
/**
* Should the passed in item be removed from player inventory
* @param insuredItem Insurued item to roll to lose
* @param traderId Trader the item was insured by
* @param itemsBeingDeleted All items to remove from player
* @returns True if item should be removed
*/
protected itemShouldBeLost(insuredItem: Item, traderId: string, itemsBeingDeleted: string[]): boolean;
2023-05-18 15:57:25 -04:00
/**
2023-09-02 22:34:11 -04:00
* Handle Insure event
2023-05-18 15:57:25 -04:00
* Add insurance to an item
* @param pmcData Player profile
* @param body Insurance request
* @param sessionID Session id
* @returns IItemEventRouterResponse object to send to client
*/
2022-07-09 16:03:26 -04:00
insure(pmcData: IPmcData, body: IInsureRequestData, sessionID: string): IItemEventRouterResponse;
2022-10-06 23:29:01 -04:00
/**
2023-09-02 22:34:11 -04:00
* Handle client/insurance/items/list/cost
2022-10-06 23:29:01 -04:00
* Calculate insurance cost
* @param info request object
* @param sessionID session id
2023-05-18 15:57:25 -04:00
* @returns IGetInsuranceCostResponseData object to send to client
2022-10-06 23:29:01 -04:00
*/
cost(info: IGetInsuranceCostRequestData, sessionID: string): IGetInsuranceCostResponseData;
2022-07-09 16:03:26 -04:00
}