154 lines
5.0 KiB
TypeScript
154 lines
5.0 KiB
TypeScript
import type { IsoDateTimeString } from "../common";
|
|
export interface SalesforceQueryResult<TRecord> {
|
|
totalSize: number;
|
|
done: boolean;
|
|
records: TRecord[];
|
|
}
|
|
export interface SalesforceCreateResult {
|
|
id: string;
|
|
success: boolean;
|
|
errors?: string[];
|
|
}
|
|
export interface SalesforceSObjectBase {
|
|
Id: string;
|
|
CreatedDate?: IsoDateTimeString;
|
|
LastModifiedDate?: IsoDateTimeString;
|
|
}
|
|
export type SalesforceOrderStatus = string;
|
|
export type SalesforceOrderType = string;
|
|
export type SalesforceOrderItemStatus = string;
|
|
export interface SalesforceProduct2Record extends SalesforceSObjectBase {
|
|
Name?: string;
|
|
StockKeepingUnit?: string;
|
|
Description?: string;
|
|
Product2Categories1__c?: string | null;
|
|
Portal_Catalog__c?: boolean | null;
|
|
Portal_Accessible__c?: boolean | null;
|
|
Item_Class__c?: string | null;
|
|
Billing_Cycle__c?: string | null;
|
|
Catalog_Order__c?: number | null;
|
|
Bundled_Addon__c?: string | null;
|
|
Is_Bundled_Addon__c?: boolean | null;
|
|
Internet_Plan_Tier__c?: string | null;
|
|
Internet_Offering_Type__c?: string | null;
|
|
Feature_List__c?: string | null;
|
|
SIM_Data_Size__c?: string | null;
|
|
SIM_Plan_Type__c?: string | null;
|
|
SIM_Has_Family_Discount__c?: boolean | null;
|
|
VPN_Region__c?: string | null;
|
|
WH_Product_ID__c?: number | null;
|
|
WH_Product_Name__c?: string | null;
|
|
Price__c?: number | null;
|
|
Monthly_Price__c?: number | null;
|
|
One_Time_Price__c?: number | null;
|
|
}
|
|
export interface SalesforcePricebookEntryRecord extends SalesforceSObjectBase {
|
|
Name?: string;
|
|
UnitPrice?: number | string | null;
|
|
Pricebook2Id?: string | null;
|
|
Product2Id?: string | null;
|
|
IsActive?: boolean | null;
|
|
Product2?: SalesforceProduct2Record | null;
|
|
}
|
|
export interface SalesforceProduct2WithPricebookEntries extends SalesforceProduct2Record {
|
|
PricebookEntries?: {
|
|
records?: SalesforcePricebookEntryRecord[];
|
|
};
|
|
}
|
|
export interface SalesforceProductFieldMap {
|
|
sku: string;
|
|
portalCategory: string;
|
|
portalCatalog: string;
|
|
portalAccessible: string;
|
|
itemClass: string;
|
|
billingCycle: string;
|
|
whmcsProductId: string;
|
|
whmcsProductName: string;
|
|
internetPlanTier: string;
|
|
internetOfferingType: string;
|
|
displayOrder: string;
|
|
bundledAddon: string;
|
|
isBundledAddon: string;
|
|
simDataSize: string;
|
|
simPlanType: string;
|
|
simHasFamilyDiscount: string;
|
|
vpnRegion: string;
|
|
}
|
|
export interface SalesforceAccountRecord extends SalesforceSObjectBase {
|
|
Name?: string;
|
|
SF_Account_No__c?: string | null;
|
|
WH_Account__c?: string | null;
|
|
BillingStreet?: string | null;
|
|
BillingCity?: string | null;
|
|
BillingState?: string | null;
|
|
BillingPostalCode?: string | null;
|
|
BillingCountry?: string | null;
|
|
}
|
|
export interface SalesforceOrderRecord extends SalesforceSObjectBase {
|
|
OrderNumber?: string;
|
|
Status?: string;
|
|
Type?: string;
|
|
EffectiveDate?: IsoDateTimeString | null;
|
|
TotalAmount?: number | null;
|
|
AccountId?: string | null;
|
|
Account?: {
|
|
Name?: string | null;
|
|
} | null;
|
|
Pricebook2Id?: string | null;
|
|
Activation_Type__c?: string | null;
|
|
Activation_Status__c?: string | null;
|
|
Activation_Scheduled_At__c?: IsoDateTimeString | null;
|
|
Internet_Plan_Tier__c?: string | null;
|
|
Installment_Plan__c?: string | null;
|
|
Access_Mode__c?: string | null;
|
|
Weekend_Install__c?: boolean | null;
|
|
Hikari_Denwa__c?: boolean | null;
|
|
VPN_Region__c?: string | null;
|
|
SIM_Type__c?: string | null;
|
|
SIM_Voice_Mail__c?: boolean | null;
|
|
SIM_Call_Waiting__c?: boolean | null;
|
|
EID__c?: string | null;
|
|
WHMCS_Order_ID__c?: string | null;
|
|
Activation_Error_Code__c?: string | null;
|
|
Activation_Error_Message__c?: string | null;
|
|
ActivatedDate?: IsoDateTimeString | null;
|
|
}
|
|
export interface SalesforceOrderItemSummary {
|
|
productName?: string;
|
|
sku?: string;
|
|
status?: SalesforceOrderItemStatus;
|
|
billingCycle?: string;
|
|
}
|
|
export interface SalesforceOrderSummary {
|
|
id: string;
|
|
orderNumber: string;
|
|
status: SalesforceOrderStatus;
|
|
orderType?: SalesforceOrderType;
|
|
effectiveDate: IsoDateTimeString;
|
|
totalAmount?: number;
|
|
createdDate: IsoDateTimeString;
|
|
lastModifiedDate: IsoDateTimeString;
|
|
whmcsOrderId?: string;
|
|
itemsSummary: SalesforceOrderItemSummary[];
|
|
}
|
|
export interface SalesforceOrderItemRecord extends SalesforceSObjectBase {
|
|
OrderId?: string | null;
|
|
Quantity?: number | null;
|
|
UnitPrice?: number | null;
|
|
TotalPrice?: number | null;
|
|
PricebookEntryId?: string | null;
|
|
PricebookEntry?: SalesforcePricebookEntryRecord | null;
|
|
Billing_Cycle__c?: string | null;
|
|
WHMCS_Service_ID__c?: string | null;
|
|
}
|
|
export interface SalesforceAccountContactRecord extends SalesforceSObjectBase {
|
|
AccountId?: string | null;
|
|
ContactId?: string | null;
|
|
}
|
|
export interface SalesforceContactRecord extends SalesforceSObjectBase {
|
|
FirstName?: string | null;
|
|
LastName?: string | null;
|
|
Email?: string | null;
|
|
Phone?: string | null;
|
|
}
|