@bitzonegaming/roleplay-engine-sdk
Version:
Roleplay Engine SDK
141 lines (140 loc) • 8.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SegmentApi = void 0;
class SegmentApi {
constructor(client) {
this.client = client;
}
/**
* 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, options) {
return this.client.get({
url: 'segments',
query,
options,
});
}
/**
* 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, options) {
return this.client.post({
url: 'segments/definitions',
data: request,
options,
});
}
/**
* 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, options) {
return this.client.get({
url: 'segments/definitions',
query,
options,
});
}
/**
* 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, query, options) {
return this.client.get({
url: `segments/definitions/${segmentDefinitionId}`,
query,
options,
});
}
/**
* 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, request, options) {
return this.client.patch({
url: `segments/definitions/${segmentDefinitionId}`,
data: request,
options,
});
}
/**
* 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, options) {
return this.client.delete({
url: `segments/definitions/${segmentDefinitionId}`,
options,
});
}
/**
* 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, options) {
return this.client.get({
url: `segments/access-policies`,
options,
});
}
/**
* 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) {
return this.client.get({
url: `segments/categories`,
options,
});
}
/**
* 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) {
return this.client.get({
url: `segments/types`,
options,
});
}
}
exports.SegmentApi = SegmentApi;