UNPKG

sfcc-dev-mcp

Version:

MCP server for Salesforce B2C Commerce Cloud development assistance including logs, debugging, and development tools

82 lines 3.39 kB
/** * OCAPI System Objects Client * * This module handles all SFCC system object related operations including * object definitions, attribute definitions, and attribute groups. */ import { OCAPIAuthClient } from '../base/ocapi-auth-client.js'; import { QueryBuilder } from '../../utils/query-builder.js'; import { Validator } from '../../utils/validator.js'; /** * OCAPI System Objects Client * Specialized client for system object operations */ export class OCAPISystemObjectsClient extends OCAPIAuthClient { constructor(config) { const version = config.version ?? 'v21_3'; const baseUrl = `https://${config.hostname}/s/-/dw/data/${version}`; super(config); // Override the baseUrl for this specialized client this.baseUrl = baseUrl; } /** * Get all system object definitions */ async getSystemObjectDefinitions(params) { let endpoint = '/system_object_definitions'; if (params) { const queryString = QueryBuilder.fromObject(params); if (queryString) { endpoint += `?${queryString}`; } } return this.get(endpoint); } /** * Get a specific system object definition by object type */ async getSystemObjectDefinition(objectType) { Validator.validateRequired({ objectType }, ['objectType']); Validator.validateObjectType(objectType); const endpoint = `/system_object_definitions/${encodeURIComponent(objectType)}`; return this.get(endpoint); } /** * Search for system object definitions using complex queries */ async searchSystemObjectDefinitions(searchRequest) { Validator.validateSearchRequest(searchRequest); const endpoint = '/system_object_definition_search'; return this.post(endpoint, searchRequest); } /** * Search attribute definitions for a specific system object type */ async searchSystemObjectAttributeDefinitions(objectType, searchRequest) { Validator.validateRequired({ objectType }, ['objectType']); Validator.validateObjectType(objectType); Validator.validateSearchRequest(searchRequest); const endpoint = `/system_object_definitions/${encodeURIComponent(objectType)}/attribute_definition_search`; return this.post(endpoint, searchRequest); } /** * Search attribute groups for a specific system object type */ async searchSystemObjectAttributeGroups(objectType, searchRequest) { Validator.validateRequired({ objectType }, ['objectType']); Validator.validateObjectType(objectType); Validator.validateSearchRequest(searchRequest); const endpoint = `/system_object_definitions/${encodeURIComponent(objectType)}/attribute_group_search`; return this.post(endpoint, searchRequest); } /** * Search attribute definitions for a specific custom object type */ async searchCustomObjectAttributeDefinitions(objectType, searchRequest) { Validator.validateRequired({ objectType }, ['objectType']); Validator.validateSearchRequest(searchRequest); const endpoint = `/custom_object_definitions/${encodeURIComponent(objectType)}/attribute_definition_search`; return this.post(endpoint, searchRequest); } } //# sourceMappingURL=system-objects-client.js.map