@bitzonegaming/roleplay-engine-sdk
Version:
Roleplay Engine SDK
108 lines (107 loc) • 9.05 kB
TypeScript
import { ApiOptions, EngineClient } from '../core/engine-client';
import { ReferenceCategory } from '../reference/models/reference-category';
import { SegmentType, SegmentTypeCode } from './models/segment-type';
import { PaginationQuery } from '../common/pagination-query';
import { PaginatedItems } from '../common/paginated-items';
import { Segment } from './models/segment';
import { CreateSegmentDefinitionRequest } from './models/create-segment-definition-request';
import { SegmentDefinition } from './models/segment-definition';
import { PatchSegmentDefinitionRequest } from './models/patch-segment-definition-request';
import { AccessPolicyGroup } from './models/access-policy-group';
import { SegmentCategory } from './models/segment-category';
export declare class SegmentApi {
private readonly client;
constructor(client: EngineClient);
/**
* It returns a list of segments based on segment definition ID, category, reference name, and type. If no parameters are provided, it returns all segments.<br/>This endpoint performs server-level operations. The token does not need to be associated with any account or character.<br/><b>Account Policies</b>: account_policy:read:segment<br/><br/> This endpoint requires authorization, and supports following token types:<br/>🔓 [API Key] <b>Required Scopes</b>: read:segment<br/>🔓 [SSO Token]<br/>🔓 [Access Token]<br/>🔓 [Session Token]
* @summary Get segments
* @param {Object} [query] Query parameters
* @param {ReferenceCategory} [query.category] Filter by reference category.
* @param {string} [query.referenceName] Filter by references name.
* @param {boolean} [query.segmentDefinitionId] Filter by segment definition id.
* @param {number} [query.pageIndex] Page index for pagination.
* @param {number} [query.pageSize] Page size for pagination.
* @param {*} [options] Override http request option.
* @throws {EngineError}
*/
getSegments(query?: {
category?: ReferenceCategory;
referenceName?: string;
segmentDefinitionId?: string;
type?: SegmentTypeCode;
} & PaginationQuery, options?: ApiOptions): Promise<PaginatedItems<Segment>>;
/**
* It creates a new segment definition. The segment definition can be used to define segments that can be used in the game server.<br/>This endpoint performs server-level operations. The token does not need to be associated with any account or character.<br/><b>Account Policies</b>: account_policy:write:segment_definition<br/><br/> This endpoint requires authorization, and supports following token types:<br/>🔓 [API Key] <b>Required Scopes</b>: write:segment_definition<br/>🔓 [SSO Token]<br/>🔓 [Access Token]<br/>🔓 [Session Token]
* @summary Create segment definition
* @param {CreateSegmentDefinitionRequest} request
* @param {*} [options] Override http request option.
* @throws {EngineError}
*/
createSegmentDefinition(request: CreateSegmentDefinitionRequest, options?: ApiOptions): Promise<SegmentDefinition>;
/**
* It returns the definitions of segments based on type and category. If no type or category is provided, it returns all segment definitions.<br/>This endpoint performs server-level operations. The token does not need to be associated with any account or character.<br/><b>Account Policies</b>: account_policy:read:segment_definition<br/><br/> This endpoint requires authorization, and supports following token types:<br/>🔓 [API Key] <b>Required Scopes</b>: read:segment_definition<br/>🔓 [SSO Token]<br/>🔓 [Access Token]<br/>🔓 [Session Token]
* @summary Get segment definitions
* @param {Object} [query] Query parameters
* @param {ReferenceCategory} [query.category] Filter definitions by reference category.
* @param {SegmentTypeCode} [query.type] Filter definitions by segment type code.
* @param {boolean} [query.noCache] If `true`, bypass server cache and fetch fresh data.
* @param {*} [options] Override http request option.
* @throws {EngineError}
*/
getSegmentDefinitions(query?: {
category?: ReferenceCategory;
type?: SegmentTypeCode;
noCache?: boolean;
}, options?: ApiOptions): Promise<SegmentDefinition[]>;
/**
* It returns a segment definition by its ID. If no cache is specified, it will return the cached version if available.<br/>This endpoint performs server-level operations. The token does not need to be associated with any account or character.<br/><b>Account Policies</b>: account_policy:read:segment_definition<br/><br/> This endpoint requires authorization, and supports following token types:<br/>🔓 [API Key] <b>Required Scopes</b>: read:segment_definition<br/>🔓 [SSO Token]<br/>🔓 [Access Token]<br/>🔓 [Session Token]
* @summary Get segment definition by ID
* @param {string} segmentDefinitionId
* @param {Object} [query] Query parameters
* @param {boolean} [query.noCache] If `true`, bypass server cache and fetch fresh data.
* @param {*} [options] Override http request option.
* @throws {EngineError}
*/
getSegmentDefinitionById(segmentDefinitionId: string, query?: {
noCache?: boolean;
}, options?: ApiOptions): Promise<SegmentDefinition>;
/**
* It patches a segment definition by its ID. It allows updating the segment definition with new data.<br/>This endpoint performs server-level operations. The token does not need to be associated with any account or character.<br/><b>Account Policies</b>: account_policy:write:segment_definition<br/><br/> This endpoint requires authorization, and supports following token types:<br/>🔓 [API Key] <b>Required Scopes</b>: write:segment_definition<br/>🔓 [SSO Token]<br/>🔓 [Access Token]<br/>🔓 [Session Token]
* @summary Patch segment definition by ID
* @param {string} segmentDefinitionId
* @param {PatchSegmentDefinitionRequest} request
* @param {*} [options] Override http request option.
* @throws {EngineError}
*/
patchSegmentDefinitionById(segmentDefinitionId: string, request: PatchSegmentDefinitionRequest, options?: ApiOptions): Promise<SegmentDefinition>;
/**
* It removes a segment definition by its ID. This operation is irreversible and will delete the segment definition permanently.<br/>This endpoint performs server-level operations. The token does not need to be associated with any account or character.<br/><b>Account Policies</b>: account_policy:write:segment_definition<br/><br/> This endpoint requires authorization, and supports following token types:<br/>🔓 [API Key] <b>Required Scopes</b>: write:segment_definition<br/>🔓 [SSO Token]<br/>🔓 [Access Token]<br/>🔓 [Session Token]
* @summary Remove segment definition by ID
* @param {string} segmentDefinitionId
* @param {*} [options] Override http request option.
* @throws {EngineError}
*/
removeSegmentDefinitionById(segmentDefinitionId: string, options?: ApiOptions): Promise<void>;
/**
* It returns a list of access policies that can be used to control access to resources. If category is not specified, it returns ACCOUNT access policies.<br/>This endpoint performs server-level operations. The token does not need to be associated with any account or character.<br/><br/> This endpoint requires authorization, and supports following token types:<br/>🔓 [API Key]<br/>🔓 [SSO Token]<br/>🔓 [Access Token]<br/>🔓 [Session Token]
* @summary Get access policies
* @param {ReferenceCategory} [category]
* @param {*} [options] Override http request option.
* @throws {EngineError}
*/
getAccessPolicies(category: ReferenceCategory, options?: ApiOptions): Promise<AccessPolicyGroup[]>;
/**
* It returns a list of segment categories that can be used to categorize segments.<br/>This endpoint performs server-level operations. The token does not need to be associated with any account or character.<br/><br/> This endpoint requires authorization, and supports following token types:<br/>🔓 [API Key]<br/>🔓 [SSO Token]<br/>🔓 [Access Token]<br/>🔓 [Session Token]
* @summary Get segment categories
* @param {*} [options] Override http request option.
* @throws {EngineError}
*/
getSegmentCategories(options?: ApiOptions): Promise<SegmentCategory[]>;
/**
* It returns a list of segment types that can be used to categorize segments by their type.<br/>This endpoint performs server-level operations. The token does not need to be associated with any account or character.<br/><br/> This endpoint requires authorization, and supports following token types:<br/>🔓 [API Key]<br/>🔓 [SSO Token]<br/>🔓 [Access Token]<br/>🔓 [Session Token]
* @summary Get segment types
* @param {*} [options] Override http request option.
* @throws {EngineError}
*/
getSegmentTypes(options?: ApiOptions): Promise<SegmentType[]>;
}