chargebee
Version:
A library for integrating with Chargebee.
104 lines (90 loc) • 3.21 kB
TypeScript
///<reference path='./../core.d.ts'/>
///<reference path='./../index.d.ts'/>
///<reference path='./filter.d.ts'/>
declare module 'chargebee' {
export interface ItemEntitlement {
id: string;
item_id?: string;
item_type?: 'plan' | 'addon' | 'charge' | 'subscription' | 'item';
feature_id?: string;
feature_name?: string;
value?: string;
name?: string;
}
export namespace ItemEntitlement {
export class ItemEntitlementResource {
itemEntitlementsForItem(
item_id: string,
input?: ItemEntitlementsForItemInputParam,
headers?: ChargebeeRequestHeader,
): Promise<ChargebeeResponse<ItemEntitlementsForItemResponse>>;
itemEntitlementsForFeature(
feature_id: string,
input?: ItemEntitlementsForFeatureInputParam,
headers?: ChargebeeRequestHeader,
): Promise<ChargebeeResponse<ItemEntitlementsForFeatureResponse>>;
addItemEntitlements(
feature_id: string,
input: AddItemEntitlementsInputParam,
headers?: ChargebeeRequestHeader,
): Promise<ChargebeeResponse<AddItemEntitlementsResponse>>;
upsertOrRemoveItemEntitlementsForItem(
item_id: string,
input: UpsertOrRemoveItemEntitlementsForItemInputParam,
headers?: ChargebeeRequestHeader,
): Promise<
ChargebeeResponse<UpsertOrRemoveItemEntitlementsForItemResponse>
>;
}
export interface ItemEntitlementsForItemResponse {
list: { item_entitlement: ItemEntitlement }[];
next_offset?: string;
}
export interface ItemEntitlementsForFeatureResponse {
list: { item_entitlement: ItemEntitlement }[];
next_offset?: string;
}
export interface AddItemEntitlementsResponse {
item_entitlement: ItemEntitlement;
}
export interface UpsertOrRemoveItemEntitlementsForItemResponse {
item_entitlement: ItemEntitlement;
}
// REQUEST PARAMS
//---------------
export interface ItemEntitlementsForItemInputParam {
limit?: number;
offset?: string /**
* @deprecated Please refer API docs to use other attributes
*/;
include_drafts?: boolean /**
* @deprecated Please refer API docs to use other attributes
*/;
embed?: string;
}
export interface ItemEntitlementsForFeatureInputParam {
limit?: number;
offset?: string /**
* @deprecated Please refer API docs to use other attributes
*/;
include_drafts?: boolean;
}
export interface AddItemEntitlementsInputParam {
action: ActionEnum;
item_entitlements?: ItemEntitlementsAddItemEntitlementsInputParam[];
}
export interface UpsertOrRemoveItemEntitlementsForItemInputParam {
action: ActionEnum;
item_entitlements?: ItemEntitlementsUpsertOrRemoveItemEntitlementsForItemInputParam[];
}
export interface ItemEntitlementsAddItemEntitlementsInputParam {
item_id: string;
item_type?: 'plan' | 'addon' | 'charge' | 'subscription' | 'item';
value?: string;
}
export interface ItemEntitlementsUpsertOrRemoveItemEntitlementsForItemInputParam {
feature_id: string;
value?: string;
}
}
}