@antonytm/mcp-sitecore-server 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +2 -0
- package/dist/app.d.ts +1 -0
- package/dist/app.js +29 -0
- package/dist/app.js.map +1 -0
- package/dist/config.d.ts +66 -0
- package/dist/config.js +27 -0
- package/dist/config.js.map +1 -0
- package/dist/const.d.ts +0 -0
- package/dist/const.js +2 -0
- package/dist/const.js.map +1 -0
- package/dist/helper.d.ts +2 -0
- package/dist/helper.js +19 -0
- package/dist/helper.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.js +37 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/graphql/generic/introspection.d.ts +3 -0
- package/dist/tools/graphql/generic/introspection.js +34 -0
- package/dist/tools/graphql/generic/introspection.js.map +1 -0
- package/dist/tools/graphql/generic/query.d.ts +3 -0
- package/dist/tools/graphql/generic/query.js +37 -0
- package/dist/tools/graphql/generic/query.js.map +1 -0
- package/dist/tools/graphql/register-graphql.d.ts +3 -0
- package/dist/tools/graphql/register-graphql.js +24 -0
- package/dist/tools/graphql/register-graphql.js.map +1 -0
- package/dist/tools/item-service/client.d.ts +148 -0
- package/dist/tools/item-service/client.js +428 -0
- package/dist/tools/item-service/client.js.map +1 -0
- package/dist/tools/item-service/composite/get-languages.d.ts +3 -0
- package/dist/tools/item-service/composite/get-languages.js +19 -0
- package/dist/tools/item-service/composite/get-languages.js.map +1 -0
- package/dist/tools/item-service/register-item-service.d.ts +3 -0
- package/dist/tools/item-service/register-item-service.js +142 -0
- package/dist/tools/item-service/register-item-service.js.map +1 -0
- package/dist/tools/item-service/simple/create-item.d.ts +10 -0
- package/dist/tools/item-service/simple/create-item.js +17 -0
- package/dist/tools/item-service/simple/create-item.js.map +1 -0
- package/dist/tools/item-service/simple/delete-item.d.ts +13 -0
- package/dist/tools/item-service/simple/delete-item.js +23 -0
- package/dist/tools/item-service/simple/delete-item.js.map +1 -0
- package/dist/tools/item-service/simple/edit-item.d.ts +15 -0
- package/dist/tools/item-service/simple/edit-item.js +23 -0
- package/dist/tools/item-service/simple/edit-item.js.map +1 -0
- package/dist/tools/item-service/simple/get-item-by-path.d.ts +10 -0
- package/dist/tools/item-service/simple/get-item-by-path.js +17 -0
- package/dist/tools/item-service/simple/get-item-by-path.js.map +1 -0
- package/dist/tools/item-service/simple/get-item-children.d.ts +10 -0
- package/dist/tools/item-service/simple/get-item-children.js +17 -0
- package/dist/tools/item-service/simple/get-item-children.js.map +1 -0
- package/dist/tools/item-service/simple/get-item.d.ts +10 -0
- package/dist/tools/item-service/simple/get-item.js +18 -0
- package/dist/tools/item-service/simple/get-item.js.map +1 -0
- package/dist/tools/item-service/simple/run-stored-query.d.ts +17 -0
- package/dist/tools/item-service/simple/run-stored-query.js +24 -0
- package/dist/tools/item-service/simple/run-stored-query.js.map +1 -0
- package/dist/tools/item-service/simple/run-stored-search.d.ts +19 -0
- package/dist/tools/item-service/simple/run-stored-search.js +24 -0
- package/dist/tools/item-service/simple/run-stored-search.js.map +1 -0
- package/dist/tools/item-service/simple/search-items.d.ts +11 -0
- package/dist/tools/item-service/simple/search-items.js +17 -0
- package/dist/tools/item-service/simple/search-items.js.map +1 -0
- package/package.json +32 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
declare class SitecoreRestfulItemServiceClient {
|
|
2
|
+
private serverUrl;
|
|
3
|
+
private username;
|
|
4
|
+
private password;
|
|
5
|
+
private domain;
|
|
6
|
+
private authCookie;
|
|
7
|
+
private isInitialized;
|
|
8
|
+
constructor(serverUrl: string, username: string, password: string, domain?: string);
|
|
9
|
+
/**
|
|
10
|
+
* Initializes the client by logging in and setting the authentication cookie.
|
|
11
|
+
* @returns {Promise<void>} - Resolves if initialization is successful.
|
|
12
|
+
*/
|
|
13
|
+
initialize(): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Logs in to the Sitecore server and sets the authentication cookie.
|
|
16
|
+
* @returns {Promise<void>} - Resolves if login is successful.
|
|
17
|
+
*/
|
|
18
|
+
login(): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Retrieves a Sitecore item by its ID using the ItemService RESTful API.
|
|
21
|
+
* @param {string} id - The GUID of the Sitecore item to retrieve.
|
|
22
|
+
* @param {Object} [options] - Optional parameters for the request.
|
|
23
|
+
* @returns {Promise<Object>} - The retrieved Sitecore item.
|
|
24
|
+
*/
|
|
25
|
+
getItemById(id: string, options?: {
|
|
26
|
+
database?: string;
|
|
27
|
+
language?: string;
|
|
28
|
+
version?: string;
|
|
29
|
+
includeStandardTemplateFields?: boolean;
|
|
30
|
+
includeMetadata?: boolean;
|
|
31
|
+
fields?: string[];
|
|
32
|
+
}): Promise<Object>;
|
|
33
|
+
/**
|
|
34
|
+
* Retrieves the children of a Sitecore item by its ID using the ItemService RESTful API.
|
|
35
|
+
* @param {string} id - The GUID of the Sitecore item whose children to retrieve.
|
|
36
|
+
* @param {Object} [options] - Optional parameters for the request.
|
|
37
|
+
* @returns {Promise<Object>} - The retrieved Sitecore item children.
|
|
38
|
+
*/
|
|
39
|
+
getItemChildren(id: string, options?: {
|
|
40
|
+
database?: string;
|
|
41
|
+
language?: string;
|
|
42
|
+
version?: string;
|
|
43
|
+
includeStandardTemplateFields?: boolean;
|
|
44
|
+
includeMetadata?: boolean;
|
|
45
|
+
fields?: string[];
|
|
46
|
+
}): Promise<Object>;
|
|
47
|
+
/**
|
|
48
|
+
* Retrieves a Sitecore item by its path using the ItemService RESTful API.
|
|
49
|
+
* @param {string} path - The content path of the Sitecore item to retrieve.
|
|
50
|
+
* @param {Object} [options] - Optional parameters for the request.
|
|
51
|
+
* @returns {Promise<Object>} - The retrieved Sitecore item.
|
|
52
|
+
*/
|
|
53
|
+
getItemByPath(path: string, options?: {
|
|
54
|
+
database?: string;
|
|
55
|
+
language?: string;
|
|
56
|
+
version?: string;
|
|
57
|
+
includeStandardTemplateFields?: boolean;
|
|
58
|
+
includeMetadata?: boolean;
|
|
59
|
+
fields?: string[];
|
|
60
|
+
}): Promise<Object>;
|
|
61
|
+
/**
|
|
62
|
+
* Creates a new Sitecore item using the ItemService RESTful API.
|
|
63
|
+
* @param {string} parentPath - The path where the new item will be created (e.g., 'sitecore/content/Home').
|
|
64
|
+
* @param {object} data - The data for the new item (ItemName, TemplateID, fields, etc).
|
|
65
|
+
* @param {object} [options] - Optional parameters for the request (database, language).
|
|
66
|
+
* @returns {Promise<Object>} - The created Sitecore item response.
|
|
67
|
+
*/
|
|
68
|
+
createItem(parentPath: string, data: {
|
|
69
|
+
ItemName: string;
|
|
70
|
+
TemplateID: string;
|
|
71
|
+
[key: string]: any;
|
|
72
|
+
}, options?: {
|
|
73
|
+
database?: string;
|
|
74
|
+
language?: string;
|
|
75
|
+
}): Promise<Object>;
|
|
76
|
+
/**
|
|
77
|
+
* Edits a Sitecore item using the ItemService RESTful API.
|
|
78
|
+
* @param {string} id - The GUID of the Sitecore item to edit.
|
|
79
|
+
* @param {object} data - The data to update (fields, etc).
|
|
80
|
+
* @param {object} [options] - Optional parameters for the request (database, language, version).
|
|
81
|
+
* @returns {Promise<Object>} - The updated Sitecore item response.
|
|
82
|
+
*/
|
|
83
|
+
editItem(id: string, data: {
|
|
84
|
+
[key: string]: any;
|
|
85
|
+
}, options?: {
|
|
86
|
+
database?: string;
|
|
87
|
+
language?: string;
|
|
88
|
+
version?: string;
|
|
89
|
+
}): Promise<Object>;
|
|
90
|
+
/**
|
|
91
|
+
* Deletes a Sitecore item by its ID using the ItemService RESTful API.
|
|
92
|
+
* @param {string} id - The GUID of the Sitecore item to delete.
|
|
93
|
+
* @param {Object} [options] - Optional parameters for the request (database, language, version).
|
|
94
|
+
* @returns {Promise<Object>} - The response from the delete operation.
|
|
95
|
+
*/
|
|
96
|
+
deleteItem(id: string, options?: {
|
|
97
|
+
database?: string;
|
|
98
|
+
language?: string;
|
|
99
|
+
version?: string;
|
|
100
|
+
}): Promise<Object>;
|
|
101
|
+
/**
|
|
102
|
+
* Searches Sitecore items using the ItemService RESTful API.
|
|
103
|
+
* @param {object} options - Search options (term, fields, facets, etc).
|
|
104
|
+
* @returns {Promise<Object>} - The search results.
|
|
105
|
+
*/
|
|
106
|
+
searchItems(options: {
|
|
107
|
+
term: string;
|
|
108
|
+
fields?: string[];
|
|
109
|
+
facet?: string;
|
|
110
|
+
page?: number;
|
|
111
|
+
pageSize?: number;
|
|
112
|
+
database?: string;
|
|
113
|
+
includeStandardTemplateFields?: boolean;
|
|
114
|
+
}): Promise<Object>;
|
|
115
|
+
/**
|
|
116
|
+
* Runs a stored query using the ItemService RESTful API.
|
|
117
|
+
* @param {string} id - The GUID of the Sitecore query definition item.
|
|
118
|
+
* @param {object} [options] - Optional parameters for the request (database, language, page, pageSize, fields, includeStandardTemplateFields).
|
|
119
|
+
* @returns {Promise<Object>} - The query results.
|
|
120
|
+
* Query syntax reference:
|
|
121
|
+
* https://doc.sitecore.com/xp/en/developers/latest/sitecore-experience-manager/general-query-syntax.html
|
|
122
|
+
*/
|
|
123
|
+
runStoredQuery(id: string, options?: {
|
|
124
|
+
database?: string;
|
|
125
|
+
language?: string;
|
|
126
|
+
page?: number;
|
|
127
|
+
pageSize?: number;
|
|
128
|
+
fields?: string[];
|
|
129
|
+
includeStandardTemplateFields?: boolean;
|
|
130
|
+
}): Promise<Object>;
|
|
131
|
+
/**
|
|
132
|
+
* Runs a stored Sitecore search using the ItemService RESTful API.
|
|
133
|
+
* @param {string} id - The GUID of the Sitecore search definition item.
|
|
134
|
+
* @param {object} options - Search options (term, pageSize, page, database, language, includeStandardTemplateFields, fields, facet, sorting).
|
|
135
|
+
* @returns {Promise<Object>} - The search results.
|
|
136
|
+
*/
|
|
137
|
+
runStoredSearch(id: string, term: string, options: {
|
|
138
|
+
pageSize?: number;
|
|
139
|
+
page?: number;
|
|
140
|
+
database?: string;
|
|
141
|
+
language?: string;
|
|
142
|
+
includeStandardTemplateFields?: boolean;
|
|
143
|
+
fields?: string[];
|
|
144
|
+
facet?: string;
|
|
145
|
+
sorting?: string;
|
|
146
|
+
}): Promise<Object>;
|
|
147
|
+
}
|
|
148
|
+
export default SitecoreRestfulItemServiceClient;
|
|
@@ -0,0 +1,428 @@
|
|
|
1
|
+
class SitecoreRestfulItemServiceClient {
|
|
2
|
+
serverUrl;
|
|
3
|
+
username;
|
|
4
|
+
password;
|
|
5
|
+
domain;
|
|
6
|
+
authCookie = null;
|
|
7
|
+
isInitialized = false;
|
|
8
|
+
constructor(serverUrl, username, password, domain = 'sitecore') {
|
|
9
|
+
this.serverUrl = serverUrl;
|
|
10
|
+
this.username = username;
|
|
11
|
+
this.password = password;
|
|
12
|
+
this.domain = domain;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Initializes the client by logging in and setting the authentication cookie.
|
|
16
|
+
* @returns {Promise<void>} - Resolves if initialization is successful.
|
|
17
|
+
*/
|
|
18
|
+
async initialize() {
|
|
19
|
+
if (!this.isInitialized) {
|
|
20
|
+
try {
|
|
21
|
+
await this.login();
|
|
22
|
+
this.isInitialized = true;
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
console.error('Failed to initialize client:', error);
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Logs in to the Sitecore server and sets the authentication cookie.
|
|
32
|
+
* @returns {Promise<void>} - Resolves if login is successful.
|
|
33
|
+
*/
|
|
34
|
+
async login() {
|
|
35
|
+
const url = `${this.serverUrl}/sitecore/api/ssc/auth/login`;
|
|
36
|
+
try {
|
|
37
|
+
const response = await fetch(url, {
|
|
38
|
+
method: 'POST',
|
|
39
|
+
headers: { 'Content-Type': 'application/json' },
|
|
40
|
+
body: JSON.stringify({
|
|
41
|
+
username: this.username,
|
|
42
|
+
password: this.password,
|
|
43
|
+
domain: this.domain
|
|
44
|
+
})
|
|
45
|
+
});
|
|
46
|
+
if (!response.ok) {
|
|
47
|
+
throw new Error('Login failed');
|
|
48
|
+
}
|
|
49
|
+
const cookies = response.headers.get('set-cookie');
|
|
50
|
+
if (cookies) {
|
|
51
|
+
const match = cookies.match(/\.AspNet\.Cookies=([^;]+);/);
|
|
52
|
+
if (match) {
|
|
53
|
+
this.authCookie = match[1];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
throw new Error('No cookies received in response headers');
|
|
58
|
+
}
|
|
59
|
+
if (!this.authCookie) {
|
|
60
|
+
throw new Error('Failed to retrieve authentication cookie');
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
if (error instanceof Error) {
|
|
65
|
+
throw new Error(`Failed to log in: ${error.message}`);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
throw new Error('Failed to log in: An unknown error occurred');
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Retrieves a Sitecore item by its ID using the ItemService RESTful API.
|
|
74
|
+
* @param {string} id - The GUID of the Sitecore item to retrieve.
|
|
75
|
+
* @param {Object} [options] - Optional parameters for the request.
|
|
76
|
+
* @returns {Promise<Object>} - The retrieved Sitecore item.
|
|
77
|
+
*/
|
|
78
|
+
async getItemById(id, options = {}) {
|
|
79
|
+
if (!this.isInitialized) {
|
|
80
|
+
await this.initialize();
|
|
81
|
+
}
|
|
82
|
+
const params = new URLSearchParams(options);
|
|
83
|
+
if (options.fields) {
|
|
84
|
+
params.set('fields', options.fields.join(','));
|
|
85
|
+
}
|
|
86
|
+
const url = `${this.serverUrl}/sitecore/api/ssc/item/${id}?${params.toString()}`;
|
|
87
|
+
try {
|
|
88
|
+
const response = await fetch(url, {
|
|
89
|
+
headers: { 'Cookie': `.AspNet.Cookies=${this.authCookie}` }
|
|
90
|
+
});
|
|
91
|
+
if (!response.ok) {
|
|
92
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
93
|
+
}
|
|
94
|
+
return await response.json();
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
if (error instanceof Error) {
|
|
98
|
+
throw new Error(`Failed to retrieve item by ID: ${error.message}`);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
throw new Error('Failed to retrieve item by ID: An unknown error occurred');
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Retrieves the children of a Sitecore item by its ID using the ItemService RESTful API.
|
|
107
|
+
* @param {string} id - The GUID of the Sitecore item whose children to retrieve.
|
|
108
|
+
* @param {Object} [options] - Optional parameters for the request.
|
|
109
|
+
* @returns {Promise<Object>} - The retrieved Sitecore item children.
|
|
110
|
+
*/
|
|
111
|
+
async getItemChildren(id, options = {}) {
|
|
112
|
+
if (!this.isInitialized) {
|
|
113
|
+
await this.initialize();
|
|
114
|
+
}
|
|
115
|
+
const params = new URLSearchParams(options);
|
|
116
|
+
if (options.fields) {
|
|
117
|
+
params.set('fields', options.fields.join(','));
|
|
118
|
+
}
|
|
119
|
+
const url = `${this.serverUrl}/sitecore/api/ssc/item/${id}/children?${params.toString()}`;
|
|
120
|
+
try {
|
|
121
|
+
const response = await fetch(url, {
|
|
122
|
+
headers: { 'Cookie': `.AspNet.Cookies=${this.authCookie}` }
|
|
123
|
+
});
|
|
124
|
+
if (!response.ok) {
|
|
125
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
126
|
+
}
|
|
127
|
+
return await response.json();
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
if (error instanceof Error) {
|
|
131
|
+
throw new Error(`Failed to retrieve item children: ${error.message}`);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
throw new Error('Failed to retrieve item children: An unknown error occurred');
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Retrieves a Sitecore item by its path using the ItemService RESTful API.
|
|
140
|
+
* @param {string} path - The content path of the Sitecore item to retrieve.
|
|
141
|
+
* @param {Object} [options] - Optional parameters for the request.
|
|
142
|
+
* @returns {Promise<Object>} - The retrieved Sitecore item.
|
|
143
|
+
*/
|
|
144
|
+
async getItemByPath(path, options = {}) {
|
|
145
|
+
if (!this.isInitialized) {
|
|
146
|
+
await this.initialize();
|
|
147
|
+
}
|
|
148
|
+
// Encode the path parameter to make it URL-safe
|
|
149
|
+
const encodedPath = encodeURIComponent(path);
|
|
150
|
+
const params = new URLSearchParams(options);
|
|
151
|
+
if (options.fields) {
|
|
152
|
+
params.set('fields', options.fields.join(','));
|
|
153
|
+
}
|
|
154
|
+
const url = `${this.serverUrl}/sitecore/api/ssc/item?path=${encodedPath}&${params.toString()}`;
|
|
155
|
+
try {
|
|
156
|
+
const response = await fetch(url, {
|
|
157
|
+
headers: { 'Cookie': `.AspNet.Cookies=${this.authCookie}` }
|
|
158
|
+
});
|
|
159
|
+
if (!response.ok) {
|
|
160
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
161
|
+
}
|
|
162
|
+
return await response.json();
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
if (error instanceof Error) {
|
|
166
|
+
throw new Error(`Failed to retrieve item by path: ${error.message}`);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
throw new Error('Failed to retrieve item by path: An unknown error occurred');
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Creates a new Sitecore item using the ItemService RESTful API.
|
|
175
|
+
* @param {string} parentPath - The path where the new item will be created (e.g., 'sitecore/content/Home').
|
|
176
|
+
* @param {object} data - The data for the new item (ItemName, TemplateID, fields, etc).
|
|
177
|
+
* @param {object} [options] - Optional parameters for the request (database, language).
|
|
178
|
+
* @returns {Promise<Object>} - The created Sitecore item response.
|
|
179
|
+
*/
|
|
180
|
+
async createItem(parentPath, data, options = {}) {
|
|
181
|
+
if (!this.isInitialized) {
|
|
182
|
+
await this.initialize();
|
|
183
|
+
}
|
|
184
|
+
// Encode the parentPath for URL
|
|
185
|
+
const encodedPath = encodeURIComponent(parentPath);
|
|
186
|
+
const params = new URLSearchParams(options);
|
|
187
|
+
const url = `${this.serverUrl}/sitecore/api/ssc/item/${encodedPath}?${params.toString()}`;
|
|
188
|
+
try {
|
|
189
|
+
const response = await fetch(url, {
|
|
190
|
+
method: 'POST',
|
|
191
|
+
headers: {
|
|
192
|
+
'Content-Type': 'application/json',
|
|
193
|
+
'Cookie': `.AspNet.Cookies=${this.authCookie}`
|
|
194
|
+
},
|
|
195
|
+
body: JSON.stringify(data)
|
|
196
|
+
});
|
|
197
|
+
if (!response.ok) {
|
|
198
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
199
|
+
}
|
|
200
|
+
return {
|
|
201
|
+
"Status": "Success",
|
|
202
|
+
"Code": response.status,
|
|
203
|
+
"Message": "Item created successfully",
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
catch (error) {
|
|
207
|
+
if (error instanceof Error) {
|
|
208
|
+
throw new Error(`Failed to create item: ${error.message}`);
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
throw new Error('Failed to create item: An unknown error occurred');
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Edits a Sitecore item using the ItemService RESTful API.
|
|
217
|
+
* @param {string} id - The GUID of the Sitecore item to edit.
|
|
218
|
+
* @param {object} data - The data to update (fields, etc).
|
|
219
|
+
* @param {object} [options] - Optional parameters for the request (database, language, version).
|
|
220
|
+
* @returns {Promise<Object>} - The updated Sitecore item response.
|
|
221
|
+
*/
|
|
222
|
+
async editItem(id, data, options = {}) {
|
|
223
|
+
if (!this.isInitialized) {
|
|
224
|
+
await this.initialize();
|
|
225
|
+
}
|
|
226
|
+
const params = new URLSearchParams(options);
|
|
227
|
+
const url = `${this.serverUrl}/sitecore/api/ssc/item/${id}?${params.toString()}`;
|
|
228
|
+
try {
|
|
229
|
+
const response = await fetch(url, {
|
|
230
|
+
method: 'PATCH',
|
|
231
|
+
headers: {
|
|
232
|
+
'Content-Type': 'application/json',
|
|
233
|
+
'Cookie': `.AspNet.Cookies=${this.authCookie}`
|
|
234
|
+
},
|
|
235
|
+
body: JSON.stringify(data)
|
|
236
|
+
});
|
|
237
|
+
if (!response.ok) {
|
|
238
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
239
|
+
}
|
|
240
|
+
return {
|
|
241
|
+
"Status": "Success",
|
|
242
|
+
"Code": response.status,
|
|
243
|
+
"Message": "Item updated successfully",
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
if (error instanceof Error) {
|
|
248
|
+
throw new Error(`Failed to edit item: ${error.message}`);
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
throw new Error('Failed to edit item: An unknown error occurred');
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Deletes a Sitecore item by its ID using the ItemService RESTful API.
|
|
257
|
+
* @param {string} id - The GUID of the Sitecore item to delete.
|
|
258
|
+
* @param {Object} [options] - Optional parameters for the request (database, language, version).
|
|
259
|
+
* @returns {Promise<Object>} - The response from the delete operation.
|
|
260
|
+
*/
|
|
261
|
+
async deleteItem(id, options = {}) {
|
|
262
|
+
if (!this.isInitialized) {
|
|
263
|
+
await this.initialize();
|
|
264
|
+
}
|
|
265
|
+
const params = new URLSearchParams(options);
|
|
266
|
+
const url = `${this.serverUrl}/sitecore/api/ssc/item/${id}?${params.toString()}`;
|
|
267
|
+
try {
|
|
268
|
+
const response = await fetch(url, {
|
|
269
|
+
method: 'DELETE',
|
|
270
|
+
headers: {
|
|
271
|
+
'Cookie': `.AspNet.Cookies=${this.authCookie}`
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
if (!response.ok) {
|
|
275
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
276
|
+
}
|
|
277
|
+
return {
|
|
278
|
+
"Status": "Success",
|
|
279
|
+
"Code": response.status,
|
|
280
|
+
"Message": "Item deleted successfully",
|
|
281
|
+
};
|
|
282
|
+
}
|
|
283
|
+
catch (error) {
|
|
284
|
+
if (error instanceof Error) {
|
|
285
|
+
throw new Error(`Failed to delete item: ${error.message}`);
|
|
286
|
+
}
|
|
287
|
+
else {
|
|
288
|
+
throw new Error('Failed to delete item: An unknown error occurred');
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Searches Sitecore items using the ItemService RESTful API.
|
|
294
|
+
* @param {object} options - Search options (term, fields, facets, etc).
|
|
295
|
+
* @returns {Promise<Object>} - The search results.
|
|
296
|
+
*/
|
|
297
|
+
async searchItems(options) {
|
|
298
|
+
if (!this.isInitialized) {
|
|
299
|
+
await this.initialize();
|
|
300
|
+
}
|
|
301
|
+
const params = new URLSearchParams();
|
|
302
|
+
if (options.term)
|
|
303
|
+
params.set('term', options.term);
|
|
304
|
+
if (options.fields)
|
|
305
|
+
params.set('fields', options.fields.join(','));
|
|
306
|
+
if (options.facet)
|
|
307
|
+
params.set('facet', options.facet);
|
|
308
|
+
if (options.page !== undefined)
|
|
309
|
+
params.set('page', String(options.page));
|
|
310
|
+
if (options.pageSize !== undefined)
|
|
311
|
+
params.set('pageSize', String(options.pageSize));
|
|
312
|
+
if (options.database)
|
|
313
|
+
params.set('database', options.database);
|
|
314
|
+
if (options.includeStandardTemplateFields !== undefined)
|
|
315
|
+
params.set('includeStandardTemplateFields', String(options.includeStandardTemplateFields));
|
|
316
|
+
const url = `${this.serverUrl}/sitecore/api/ssc/item/search?${params.toString()}`;
|
|
317
|
+
try {
|
|
318
|
+
const response = await fetch(url, {
|
|
319
|
+
headers: { 'Cookie': `.AspNet.Cookies=${this.authCookie}` }
|
|
320
|
+
});
|
|
321
|
+
if (!response.ok) {
|
|
322
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
323
|
+
}
|
|
324
|
+
return await response.json();
|
|
325
|
+
}
|
|
326
|
+
catch (error) {
|
|
327
|
+
if (error instanceof Error) {
|
|
328
|
+
throw new Error(`Failed to search items: ${error.message}`);
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
throw new Error('Failed to search items: An unknown error occurred');
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Runs a stored query using the ItemService RESTful API.
|
|
337
|
+
* @param {string} id - The GUID of the Sitecore query definition item.
|
|
338
|
+
* @param {object} [options] - Optional parameters for the request (database, language, page, pageSize, fields, includeStandardTemplateFields).
|
|
339
|
+
* @returns {Promise<Object>} - The query results.
|
|
340
|
+
* Query syntax reference:
|
|
341
|
+
* https://doc.sitecore.com/xp/en/developers/latest/sitecore-experience-manager/general-query-syntax.html
|
|
342
|
+
*/
|
|
343
|
+
async runStoredQuery(id, options = {}) {
|
|
344
|
+
if (!this.isInitialized) {
|
|
345
|
+
await this.initialize();
|
|
346
|
+
}
|
|
347
|
+
const params = new URLSearchParams();
|
|
348
|
+
if (options.database)
|
|
349
|
+
params.set('database', options.database);
|
|
350
|
+
if (options.language)
|
|
351
|
+
params.set('language', options.language);
|
|
352
|
+
if (options.page !== undefined)
|
|
353
|
+
params.set('page', String(options.page));
|
|
354
|
+
if (options.pageSize !== undefined)
|
|
355
|
+
params.set('pageSize', String(options.pageSize));
|
|
356
|
+
if (options.fields)
|
|
357
|
+
params.set('fields', options.fields.join(','));
|
|
358
|
+
if (options.includeStandardTemplateFields !== undefined)
|
|
359
|
+
params.set('includeStandardTemplateFields', String(options.includeStandardTemplateFields));
|
|
360
|
+
const url = `${this.serverUrl}/sitecore/api/ssc/item/${id}/query?${params.toString()}`;
|
|
361
|
+
try {
|
|
362
|
+
const response = await fetch(url, {
|
|
363
|
+
headers: { 'Cookie': `.AspNet.Cookies=${this.authCookie}` }
|
|
364
|
+
});
|
|
365
|
+
if (!response.ok) {
|
|
366
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
367
|
+
}
|
|
368
|
+
return await response.json();
|
|
369
|
+
}
|
|
370
|
+
catch (error) {
|
|
371
|
+
if (error instanceof Error) {
|
|
372
|
+
throw new Error(`Failed to run stored query: ${error.message}`);
|
|
373
|
+
}
|
|
374
|
+
else {
|
|
375
|
+
throw new Error('Failed to run stored query: An unknown error occurred');
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Runs a stored Sitecore search using the ItemService RESTful API.
|
|
381
|
+
* @param {string} id - The GUID of the Sitecore search definition item.
|
|
382
|
+
* @param {object} options - Search options (term, pageSize, page, database, language, includeStandardTemplateFields, fields, facet, sorting).
|
|
383
|
+
* @returns {Promise<Object>} - The search results.
|
|
384
|
+
*/
|
|
385
|
+
async runStoredSearch(id, term, options) {
|
|
386
|
+
if (!this.isInitialized) {
|
|
387
|
+
await this.initialize();
|
|
388
|
+
}
|
|
389
|
+
const params = new URLSearchParams();
|
|
390
|
+
params.set('term', term);
|
|
391
|
+
if (options.pageSize !== undefined)
|
|
392
|
+
params.set('pageSize', String(options.pageSize));
|
|
393
|
+
if (options.page !== undefined)
|
|
394
|
+
params.set('page', String(options.page));
|
|
395
|
+
if (options.database)
|
|
396
|
+
params.set('database', options.database);
|
|
397
|
+
if (options.language)
|
|
398
|
+
params.set('language', options.language);
|
|
399
|
+
if (options.includeStandardTemplateFields !== undefined)
|
|
400
|
+
params.set('includeStandardTemplateFields', String(options.includeStandardTemplateFields));
|
|
401
|
+
if (options.fields)
|
|
402
|
+
params.set('fields', options.fields.join(','));
|
|
403
|
+
if (options.facet)
|
|
404
|
+
params.set('facet', options.facet);
|
|
405
|
+
if (options.sorting)
|
|
406
|
+
params.set('sorting', options.sorting);
|
|
407
|
+
const url = `${this.serverUrl}/sitecore/api/ssc/item/${id}/search?${params.toString()}`;
|
|
408
|
+
try {
|
|
409
|
+
const response = await fetch(url, {
|
|
410
|
+
headers: { 'Cookie': `.AspNet.Cookies=${this.authCookie}` }
|
|
411
|
+
});
|
|
412
|
+
if (!response.ok) {
|
|
413
|
+
throw new Error(`HTTP error! status: ${response.status}`);
|
|
414
|
+
}
|
|
415
|
+
return await response.json();
|
|
416
|
+
}
|
|
417
|
+
catch (error) {
|
|
418
|
+
if (error instanceof Error) {
|
|
419
|
+
throw new Error(`Failed to run stored search: ${error.message}`);
|
|
420
|
+
}
|
|
421
|
+
else {
|
|
422
|
+
throw new Error('Failed to run stored search: An unknown error occurred');
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
export default SitecoreRestfulItemServiceClient;
|
|
428
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/tools/item-service/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {} from "@modelcontextprotocol/sdk/types.js";
|
|
2
|
+
import {} from "../../../config.js";
|
|
3
|
+
import SitecoreRestfulItemServiceClient from "../client.js";
|
|
4
|
+
export async function getLanguages(conf) {
|
|
5
|
+
const client = new SitecoreRestfulItemServiceClient(conf.itemService.serverUrl, conf.itemService.username, conf.itemService.password, conf.itemService.domain);
|
|
6
|
+
const languagesItemResponse = await client.getItemByPath("/sitecore/system/Languages");
|
|
7
|
+
const itemId = languagesItemResponse.ItemID;
|
|
8
|
+
const languagesChildrenResponse = await client.getItemChildren(itemId);
|
|
9
|
+
return {
|
|
10
|
+
content: [
|
|
11
|
+
{
|
|
12
|
+
type: "text",
|
|
13
|
+
text: JSON.stringify(languagesChildrenResponse, null, 2),
|
|
14
|
+
},
|
|
15
|
+
],
|
|
16
|
+
isError: false,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=get-languages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-languages.js","sourceRoot":"","sources":["../../../../src/tools/item-service/composite/get-languages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAe,MAAM,oBAAoB,CAAC;AACjD,OAAO,gCAAgC,MAAM,cAAc,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC3C,MAAM,MAAM,GAAG,IAAI,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,EAC1E,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAC1B,CAAC;IAEF,MAAM,qBAAqB,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,4BAA4B,CAAmC,CAAC;IAEzH,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC;IAE5C,MAAM,yBAAyB,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAEvE,OAAO;QACH,OAAO,EAAE;YACL;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,yBAAyB,EAAE,IAAI,EAAE,CAAC,CAAC;aAC3D;SACJ;QACD,OAAO,EAAE,KAAK;KACjB,CAAA;AACL,CAAC"}
|