@rockcarver/frodo-lib 2.0.0-39 → 2.0.0-40
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/build.zip +0 -0
- package/cjs/api/ManagedObjectApi.js +47 -14
- package/cjs/api/ManagedObjectApi.js.map +1 -1
- package/cjs/ops/ManagedObjectOps.js +43 -12
- package/cjs/ops/ManagedObjectOps.js.map +1 -1
- package/esm/api/ManagedObjectApi.js +27 -0
- package/esm/api/ManagedObjectApi.js.map +1 -1
- package/esm/ops/ManagedObjectOps.js +22 -1
- package/esm/ops/ManagedObjectOps.js.map +1 -1
- package/package.json +1 -1
- package/types/api/ManagedObjectApi.d.ts +22 -0
- package/types/api/ManagedObjectApi.d.ts.map +1 -1
- package/types/ops/ManagedObjectOps.d.ts +15 -0
- package/types/ops/ManagedObjectOps.d.ts.map +1 -1
package/build.zip
CHANGED
|
Binary file
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.createManagedObject = createManagedObject;
|
|
7
7
|
exports.deleteManagedObject = deleteManagedObject;
|
|
8
8
|
exports.getManagedObject = getManagedObject;
|
|
9
|
+
exports.patchManagedObject = patchManagedObject;
|
|
9
10
|
exports.putManagedObject = putManagedObject;
|
|
10
11
|
exports.queryAllManagedObjectsByType = queryAllManagedObjectsByType;
|
|
11
12
|
exports.queryManagedObjects = queryManagedObjects;
|
|
@@ -20,6 +21,9 @@ var managedObjectByIdURLTemplate = '%s/openidm/managed/%s/%s';
|
|
|
20
21
|
var managedObjectQueryAllURLTemplate = "%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000";
|
|
21
22
|
var findManagedObjectURLTemplate = "%s/openidm/managed/%s?_queryFilter=%s&_pageSize=10000";
|
|
22
23
|
|
|
24
|
+
/**
|
|
25
|
+
* See {@link https://backstage.forgerock.com/docs/idm/7/rest-api-reference/sec-about-crest.html#about-crest-patch}.
|
|
26
|
+
*/
|
|
23
27
|
/**
|
|
24
28
|
* Get managed object
|
|
25
29
|
* @param {string} type managed object type, e.g. alpha_user or user
|
|
@@ -91,12 +95,12 @@ function putManagedObject(_x3) {
|
|
|
91
95
|
return _putManagedObject.apply(this, arguments);
|
|
92
96
|
}
|
|
93
97
|
/**
|
|
94
|
-
*
|
|
98
|
+
* Partially update a managed object, with a collection of operations.
|
|
95
99
|
* @param {string} type managed object type, e.g. alpha_user or user
|
|
96
|
-
* @param {string}
|
|
97
|
-
* @param {
|
|
98
|
-
* @param
|
|
99
|
-
* @returns {Promise<IdObjectSkeletonInterface
|
|
100
|
+
* @param {string} id managed object id
|
|
101
|
+
* @param {ManagedObjectPatchOperationInterface[]} operations collection of patch operations to perform on the object
|
|
102
|
+
* @param state library state
|
|
103
|
+
* @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to the updated managed object
|
|
100
104
|
*/
|
|
101
105
|
function _putManagedObject() {
|
|
102
106
|
_putManagedObject = _asyncToGenerator(function* (_ref3) {
|
|
@@ -123,7 +127,36 @@ function _putManagedObject() {
|
|
|
123
127
|
});
|
|
124
128
|
return _putManagedObject.apply(this, arguments);
|
|
125
129
|
}
|
|
126
|
-
function
|
|
130
|
+
function patchManagedObject(_x4) {
|
|
131
|
+
return _patchManagedObject.apply(this, arguments);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Query managed object
|
|
135
|
+
* @param {string} type managed object type, e.g. alpha_user or user
|
|
136
|
+
* @param {string} filter CREST search filter
|
|
137
|
+
* @param {string[]} id array of fields to include
|
|
138
|
+
* @param {State} state library state
|
|
139
|
+
* @returns {Promise<IdObjectSkeletonInterface[]>} a promise that resolves to an ObjectSkeletonInterface
|
|
140
|
+
*/
|
|
141
|
+
function _patchManagedObject() {
|
|
142
|
+
_patchManagedObject = _asyncToGenerator(function* (_ref4) {
|
|
143
|
+
var {
|
|
144
|
+
type,
|
|
145
|
+
id,
|
|
146
|
+
operations,
|
|
147
|
+
state
|
|
148
|
+
} = _ref4;
|
|
149
|
+
var urlString = _util.default.format(managedObjectByIdURLTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), type, id);
|
|
150
|
+
var {
|
|
151
|
+
data
|
|
152
|
+
} = yield (0, _BaseApi.generateIdmApi)({
|
|
153
|
+
state
|
|
154
|
+
}).patch(urlString, operations);
|
|
155
|
+
return data;
|
|
156
|
+
});
|
|
157
|
+
return _patchManagedObject.apply(this, arguments);
|
|
158
|
+
}
|
|
159
|
+
function queryManagedObjects(_x5) {
|
|
127
160
|
return _queryManagedObjects.apply(this, arguments);
|
|
128
161
|
}
|
|
129
162
|
/**
|
|
@@ -134,13 +167,13 @@ function queryManagedObjects(_x4) {
|
|
|
134
167
|
* @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type
|
|
135
168
|
*/
|
|
136
169
|
function _queryManagedObjects() {
|
|
137
|
-
_queryManagedObjects = _asyncToGenerator(function* (
|
|
170
|
+
_queryManagedObjects = _asyncToGenerator(function* (_ref5) {
|
|
138
171
|
var {
|
|
139
172
|
type,
|
|
140
173
|
filter,
|
|
141
174
|
fields = ['*'],
|
|
142
175
|
state
|
|
143
|
-
} =
|
|
176
|
+
} = _ref5;
|
|
144
177
|
var fieldsParam = "_fields=".concat(fields.join(','));
|
|
145
178
|
var urlString = _util.default.format("".concat(findManagedObjectURLTemplate, "&").concat(fieldsParam), (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), type, filter);
|
|
146
179
|
var {
|
|
@@ -153,7 +186,7 @@ function _queryManagedObjects() {
|
|
|
153
186
|
});
|
|
154
187
|
return _queryManagedObjects.apply(this, arguments);
|
|
155
188
|
}
|
|
156
|
-
function queryAllManagedObjectsByType(
|
|
189
|
+
function queryAllManagedObjectsByType(_x6) {
|
|
157
190
|
return _queryAllManagedObjectsByType.apply(this, arguments);
|
|
158
191
|
}
|
|
159
192
|
/**
|
|
@@ -163,13 +196,13 @@ function queryAllManagedObjectsByType(_x5) {
|
|
|
163
196
|
* @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object
|
|
164
197
|
*/
|
|
165
198
|
function _queryAllManagedObjectsByType() {
|
|
166
|
-
_queryAllManagedObjectsByType = _asyncToGenerator(function* (
|
|
199
|
+
_queryAllManagedObjectsByType = _asyncToGenerator(function* (_ref6) {
|
|
167
200
|
var {
|
|
168
201
|
type,
|
|
169
202
|
fields = [],
|
|
170
203
|
pageCookie = undefined,
|
|
171
204
|
state
|
|
172
|
-
} =
|
|
205
|
+
} = _ref6;
|
|
173
206
|
var fieldsParam = fields.length > 0 ? "&_fields=".concat(fields.join(',')) : '&_fields=_id';
|
|
174
207
|
var urlTemplate = pageCookie ? "".concat(managedObjectQueryAllURLTemplate).concat(fieldsParam, "&_pagedResultsCookie=").concat(encodeURIComponent(pageCookie)) : "".concat(managedObjectQueryAllURLTemplate).concat(fieldsParam);
|
|
175
208
|
var urlString = _util.default.format(urlTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), type);
|
|
@@ -182,16 +215,16 @@ function _queryAllManagedObjectsByType() {
|
|
|
182
215
|
});
|
|
183
216
|
return _queryAllManagedObjectsByType.apply(this, arguments);
|
|
184
217
|
}
|
|
185
|
-
function deleteManagedObject(
|
|
218
|
+
function deleteManagedObject(_x7) {
|
|
186
219
|
return _deleteManagedObject.apply(this, arguments);
|
|
187
220
|
}
|
|
188
221
|
function _deleteManagedObject() {
|
|
189
|
-
_deleteManagedObject = _asyncToGenerator(function* (
|
|
222
|
+
_deleteManagedObject = _asyncToGenerator(function* (_ref7) {
|
|
190
223
|
var {
|
|
191
224
|
type,
|
|
192
225
|
id,
|
|
193
226
|
state
|
|
194
|
-
} =
|
|
227
|
+
} = _ref7;
|
|
195
228
|
var urlString = _util.default.format(managedObjectByIdURLTemplate, (0, _ForgeRockUtils.getHostBaseUrl)(state.getHost()), type, id);
|
|
196
229
|
var {
|
|
197
230
|
data
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedObjectApi.js","names":["_util","_interopRequireDefault","require","_ForgeRockUtils","_BaseApi","obj","__esModule","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","createManagedObjectURLTemplate","managedObjectByIdURLTemplate","managedObjectQueryAllURLTemplate","findManagedObjectURLTemplate","getManagedObject","_x","_getManagedObject","_ref","type","id","fields","state","fieldsParam","concat","join","urlString","util","format","getHostBaseUrl","getHost","data","generateIdmApi","requestOverride","get","createManagedObject","_x2","_createManagedObject","_ref2","moType","moData","post","putManagedObject","_x3","_putManagedObject","_ref3","failIfExists","headers","put","queryManagedObjects","_x4","_queryManagedObjects","_ref4","filter","queryAllManagedObjectsByType","_x5","_queryAllManagedObjectsByType","_ref5","pageCookie","length","urlTemplate","encodeURIComponent","deleteManagedObject","_x6","_deleteManagedObject","_ref6","delete"],"sources":["../../src/api/ManagedObjectApi.ts"],"sourcesContent":["import util from 'util';\n\nimport { State } from '../shared/State';\nimport { getHostBaseUrl } from '../utils/ForgeRockUtils';\nimport { IdObjectSkeletonInterface, PagedResult } from './ApiTypes';\nimport { generateIdmApi } from './BaseApi';\n\nconst createManagedObjectURLTemplate = '%s/openidm/managed/%s?_action=create';\nconst managedObjectByIdURLTemplate = '%s/openidm/managed/%s/%s';\nconst managedObjectQueryAllURLTemplate = `%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000`;\nconst findManagedObjectURLTemplate = `%s/openidm/managed/%s?_queryFilter=%s&_pageSize=10000`;\n\n/**\n * Get managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {string[]} id array of fields to include\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an ObjectSkeletonInterface\n */\nexport async function getManagedObject({\n type,\n id,\n fields = ['*'],\n state,\n}: {\n type: string;\n id: string;\n fields: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const fieldsParam = `_fields=${fields.join(',')}`;\n const urlString = util.format(\n `${managedObjectByIdURLTemplate}?${fieldsParam}`,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).get(\n urlString\n );\n return data as IdObjectSkeletonInterface;\n}\n\n/**\n * Create managed object with server-generated id\n * @param {string} moType managed object type\n * @param {IdObjectSkeletonInterface} moData managed object data\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function createManagedObject({\n moType,\n moData,\n state,\n}: {\n moType: string;\n moData: IdObjectSkeletonInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n createManagedObjectURLTemplate,\n getHostBaseUrl(state.getHost()),\n moType\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).post(\n urlString,\n moData\n );\n return data;\n}\n\n/**\n * Create or update managed object\n * @param {string} id managed object id\n * @param {IdObjectSkeletonInterface} moData managed object\n * @param {boolean} failIfExists fail if exists\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function putManagedObject({\n type,\n id,\n moData,\n failIfExists = false,\n state,\n}: {\n type: string;\n id: string;\n moData: IdObjectSkeletonInterface;\n failIfExists?: boolean;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n const requestOverride = failIfExists\n ? { headers: { 'If-None-Match': '*' } }\n : {};\n const { data } = await generateIdmApi({ requestOverride, state }).put(\n urlString,\n moData\n );\n return data;\n}\n\n/**\n * Query managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} filter CREST search filter\n * @param {string[]} id array of fields to include\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface[]>} a promise that resolves to an ObjectSkeletonInterface\n */\nexport async function queryManagedObjects({\n type,\n filter,\n fields = ['*'],\n state,\n}: {\n type: string;\n filter: string;\n fields: string[];\n state: State;\n}): Promise<PagedResult<IdObjectSkeletonInterface>> {\n const fieldsParam = `_fields=${fields.join(',')}`;\n const urlString = util.format(\n `${findManagedObjectURLTemplate}&${fieldsParam}`,\n getHostBaseUrl(state.getHost()),\n type,\n filter\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).get(\n urlString\n );\n return data as PagedResult<IdObjectSkeletonInterface>;\n}\n\n/**\n * Query managed objects\n * @param {string} type managed object type\n * @param {string[]} fields fields to retrieve\n * @param {string} pageCookie paged results cookie\n * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType({\n type,\n fields = [],\n pageCookie = undefined,\n state,\n}: {\n type: string;\n fields?: string[];\n pageCookie?: string;\n state: State;\n}): Promise<PagedResult<IdObjectSkeletonInterface>> {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${managedObjectQueryAllURLTemplate}${fieldsParam}&_pagedResultsCookie=${encodeURIComponent(\n pageCookie\n )}`\n : `${managedObjectQueryAllURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getHostBaseUrl(state.getHost()),\n type\n );\n const { data } = await generateIdmApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Delete managed object\n * @param {string} id managed object id\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function deleteManagedObject({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).delete(\n urlString\n );\n return data;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ManagedObjectApi.js","names":["_util","_interopRequireDefault","require","_ForgeRockUtils","_BaseApi","obj","__esModule","default","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","createManagedObjectURLTemplate","managedObjectByIdURLTemplate","managedObjectQueryAllURLTemplate","findManagedObjectURLTemplate","getManagedObject","_x","_getManagedObject","_ref","type","id","fields","state","fieldsParam","concat","join","urlString","util","format","getHostBaseUrl","getHost","data","generateIdmApi","requestOverride","get","createManagedObject","_x2","_createManagedObject","_ref2","moType","moData","post","putManagedObject","_x3","_putManagedObject","_ref3","failIfExists","headers","put","patchManagedObject","_x4","_patchManagedObject","_ref4","operations","patch","queryManagedObjects","_x5","_queryManagedObjects","_ref5","filter","queryAllManagedObjectsByType","_x6","_queryAllManagedObjectsByType","_ref6","pageCookie","length","urlTemplate","encodeURIComponent","deleteManagedObject","_x7","_deleteManagedObject","_ref7","delete"],"sources":["../../src/api/ManagedObjectApi.ts"],"sourcesContent":["import util from 'util';\n\nimport { State } from '../shared/State';\nimport { getHostBaseUrl } from '../utils/ForgeRockUtils';\nimport { IdObjectSkeletonInterface, PagedResult } from './ApiTypes';\nimport { generateIdmApi } from './BaseApi';\n\nconst createManagedObjectURLTemplate = '%s/openidm/managed/%s?_action=create';\nconst managedObjectByIdURLTemplate = '%s/openidm/managed/%s/%s';\nconst managedObjectQueryAllURLTemplate = `%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000`;\nconst findManagedObjectURLTemplate = `%s/openidm/managed/%s?_queryFilter=%s&_pageSize=10000`;\n\n/**\n * See {@link https://backstage.forgerock.com/docs/idm/7/rest-api-reference/sec-about-crest.html#about-crest-patch}.\n */\nexport interface ManagedObjectPatchOperationInterface {\n operation: string;\n field: string;\n value: string | Array<string> | number;\n}\n\n/**\n * Get managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {string[]} id array of fields to include\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an ObjectSkeletonInterface\n */\nexport async function getManagedObject({\n type,\n id,\n fields = ['*'],\n state,\n}: {\n type: string;\n id: string;\n fields: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const fieldsParam = `_fields=${fields.join(',')}`;\n const urlString = util.format(\n `${managedObjectByIdURLTemplate}?${fieldsParam}`,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).get(\n urlString\n );\n return data as IdObjectSkeletonInterface;\n}\n\n/**\n * Create managed object with server-generated id\n * @param {string} moType managed object type\n * @param {IdObjectSkeletonInterface} moData managed object data\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function createManagedObject({\n moType,\n moData,\n state,\n}: {\n moType: string;\n moData: IdObjectSkeletonInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n createManagedObjectURLTemplate,\n getHostBaseUrl(state.getHost()),\n moType\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).post(\n urlString,\n moData\n );\n return data;\n}\n\n/**\n * Create or update managed object\n * @param {string} id managed object id\n * @param {IdObjectSkeletonInterface} moData managed object\n * @param {boolean} failIfExists fail if exists\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function putManagedObject({\n type,\n id,\n moData,\n failIfExists = false,\n state,\n}: {\n type: string;\n id: string;\n moData: IdObjectSkeletonInterface;\n failIfExists?: boolean;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n const requestOverride = failIfExists\n ? { headers: { 'If-None-Match': '*' } }\n : {};\n const { data } = await generateIdmApi({ requestOverride, state }).put(\n urlString,\n moData\n );\n return data;\n}\n\n/**\n * Partially update a managed object, with a collection of operations.\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {ManagedObjectPatchOperationInterface[]} operations collection of patch operations to perform on the object\n * @param state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to the updated managed object\n */\nexport async function patchManagedObject({\n type,\n id,\n operations,\n state,\n}: {\n type: string;\n id: string;\n operations: ManagedObjectPatchOperationInterface[];\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n\n const { data } = await generateIdmApi({ state }).patch(urlString, operations);\n return data;\n}\n\n/**\n * Query managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} filter CREST search filter\n * @param {string[]} id array of fields to include\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface[]>} a promise that resolves to an ObjectSkeletonInterface\n */\nexport async function queryManagedObjects({\n type,\n filter,\n fields = ['*'],\n state,\n}: {\n type: string;\n filter: string;\n fields: string[];\n state: State;\n}): Promise<PagedResult<IdObjectSkeletonInterface>> {\n const fieldsParam = `_fields=${fields.join(',')}`;\n const urlString = util.format(\n `${findManagedObjectURLTemplate}&${fieldsParam}`,\n getHostBaseUrl(state.getHost()),\n type,\n filter\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).get(\n urlString\n );\n return data as PagedResult<IdObjectSkeletonInterface>;\n}\n\n/**\n * Query managed objects\n * @param {string} type managed object type\n * @param {string[]} fields fields to retrieve\n * @param {string} pageCookie paged results cookie\n * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType({\n type,\n fields = [],\n pageCookie = undefined,\n state,\n}: {\n type: string;\n fields?: string[];\n pageCookie?: string;\n state: State;\n}): Promise<PagedResult<IdObjectSkeletonInterface>> {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${managedObjectQueryAllURLTemplate}${fieldsParam}&_pagedResultsCookie=${encodeURIComponent(\n pageCookie\n )}`\n : `${managedObjectQueryAllURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getHostBaseUrl(state.getHost()),\n type\n );\n const { data } = await generateIdmApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Delete managed object\n * @param {string} id managed object id\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function deleteManagedObject({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).delete(\n urlString\n );\n return data;\n}\n"],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ exports.readManagedObjects = readManagedObjects;
|
|
|
12
12
|
exports.resolveFullName = resolveFullName;
|
|
13
13
|
exports.resolveUserName = resolveUserName;
|
|
14
14
|
exports.updateManagedObject = updateManagedObject;
|
|
15
|
+
exports.updateManagedObjectProperties = updateManagedObjectProperties;
|
|
15
16
|
var _ManagedObjectApi = require("../api/ManagedObjectApi.js");
|
|
16
17
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
17
18
|
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
@@ -58,6 +59,16 @@ var _default = state => {
|
|
|
58
59
|
});
|
|
59
60
|
})();
|
|
60
61
|
},
|
|
62
|
+
updateManagedObjectProperties(type, id, operations) {
|
|
63
|
+
return _asyncToGenerator(function* () {
|
|
64
|
+
return updateManagedObjectProperties({
|
|
65
|
+
type,
|
|
66
|
+
id,
|
|
67
|
+
operations,
|
|
68
|
+
state
|
|
69
|
+
});
|
|
70
|
+
})();
|
|
71
|
+
},
|
|
61
72
|
deleteManagedObject(type, id) {
|
|
62
73
|
return _asyncToGenerator(function* () {
|
|
63
74
|
return deleteManagedObject({
|
|
@@ -199,16 +210,36 @@ function _updateManagedObject() {
|
|
|
199
210
|
});
|
|
200
211
|
return _updateManagedObject.apply(this, arguments);
|
|
201
212
|
}
|
|
202
|
-
function
|
|
213
|
+
function updateManagedObjectProperties(_x5) {
|
|
214
|
+
return _updateManagedObjectProperties.apply(this, arguments);
|
|
215
|
+
}
|
|
216
|
+
function _updateManagedObjectProperties() {
|
|
217
|
+
_updateManagedObjectProperties = _asyncToGenerator(function* (_ref5) {
|
|
218
|
+
var {
|
|
219
|
+
type,
|
|
220
|
+
id,
|
|
221
|
+
operations,
|
|
222
|
+
state
|
|
223
|
+
} = _ref5;
|
|
224
|
+
return (0, _ManagedObjectApi.patchManagedObject)({
|
|
225
|
+
type,
|
|
226
|
+
id,
|
|
227
|
+
operations,
|
|
228
|
+
state
|
|
229
|
+
});
|
|
230
|
+
});
|
|
231
|
+
return _updateManagedObjectProperties.apply(this, arguments);
|
|
232
|
+
}
|
|
233
|
+
function deleteManagedObject(_x6) {
|
|
203
234
|
return _deleteManagedObject2.apply(this, arguments);
|
|
204
235
|
}
|
|
205
236
|
function _deleteManagedObject2() {
|
|
206
|
-
_deleteManagedObject2 = _asyncToGenerator(function* (
|
|
237
|
+
_deleteManagedObject2 = _asyncToGenerator(function* (_ref6) {
|
|
207
238
|
var {
|
|
208
239
|
type,
|
|
209
240
|
id,
|
|
210
241
|
state
|
|
211
|
-
} =
|
|
242
|
+
} = _ref6;
|
|
212
243
|
return (0, _ManagedObjectApi.deleteManagedObject)({
|
|
213
244
|
type,
|
|
214
245
|
id,
|
|
@@ -217,17 +248,17 @@ function _deleteManagedObject2() {
|
|
|
217
248
|
});
|
|
218
249
|
return _deleteManagedObject2.apply(this, arguments);
|
|
219
250
|
}
|
|
220
|
-
function queryManagedObjects(
|
|
251
|
+
function queryManagedObjects(_x7) {
|
|
221
252
|
return _queryManagedObjects2.apply(this, arguments);
|
|
222
253
|
}
|
|
223
254
|
function _queryManagedObjects2() {
|
|
224
|
-
_queryManagedObjects2 = _asyncToGenerator(function* (
|
|
255
|
+
_queryManagedObjects2 = _asyncToGenerator(function* (_ref7) {
|
|
225
256
|
var {
|
|
226
257
|
type,
|
|
227
258
|
filter = 'true',
|
|
228
259
|
fields = ['*'],
|
|
229
260
|
state
|
|
230
|
-
} =
|
|
261
|
+
} = _ref7;
|
|
231
262
|
var {
|
|
232
263
|
result
|
|
233
264
|
} = yield (0, _ManagedObjectApi.queryManagedObjects)({
|
|
@@ -240,16 +271,16 @@ function _queryManagedObjects2() {
|
|
|
240
271
|
});
|
|
241
272
|
return _queryManagedObjects2.apply(this, arguments);
|
|
242
273
|
}
|
|
243
|
-
function resolveUserName(
|
|
274
|
+
function resolveUserName(_x8) {
|
|
244
275
|
return _resolveUserName.apply(this, arguments);
|
|
245
276
|
}
|
|
246
277
|
function _resolveUserName() {
|
|
247
|
-
_resolveUserName = _asyncToGenerator(function* (
|
|
278
|
+
_resolveUserName = _asyncToGenerator(function* (_ref8) {
|
|
248
279
|
var {
|
|
249
280
|
type,
|
|
250
281
|
id,
|
|
251
282
|
state
|
|
252
|
-
} =
|
|
283
|
+
} = _ref8;
|
|
253
284
|
try {
|
|
254
285
|
return (yield (0, _ManagedObjectApi.getManagedObject)({
|
|
255
286
|
type,
|
|
@@ -264,16 +295,16 @@ function _resolveUserName() {
|
|
|
264
295
|
});
|
|
265
296
|
return _resolveUserName.apply(this, arguments);
|
|
266
297
|
}
|
|
267
|
-
function resolveFullName(
|
|
298
|
+
function resolveFullName(_x9) {
|
|
268
299
|
return _resolveFullName.apply(this, arguments);
|
|
269
300
|
}
|
|
270
301
|
function _resolveFullName() {
|
|
271
|
-
_resolveFullName = _asyncToGenerator(function* (
|
|
302
|
+
_resolveFullName = _asyncToGenerator(function* (_ref9) {
|
|
272
303
|
var {
|
|
273
304
|
type,
|
|
274
305
|
id,
|
|
275
306
|
state
|
|
276
|
-
} =
|
|
307
|
+
} = _ref9;
|
|
277
308
|
try {
|
|
278
309
|
var managedObject = yield (0, _ManagedObjectApi.getManagedObject)({
|
|
279
310
|
type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedObjectOps.js","names":["state","createManagedObject","type","moData","_arguments","arguments","_asyncToGenerator","id","length","undefined","readManagedObject","fields","readManagedObjects","updateManagedObject","deleteManagedObject","queryManagedObjects","_arguments2","filter","resolveUserName","resolveFullName","exports","default","_default","_x","_createManagedObject2","apply","_ref","_putManagedObject","failIfExists","_createManagedObject","moType","_x2","_readManagedObject","_ref2","_getManagedObject","_x3","_readManagedObjects","_ref3","managedObjects","result","resultCount","pagedResultsCookie","totalPagedResultsPolicy","totalPagedResults","remainingPagedResults","queryAllManagedObjectsByType","pageCookie","concat","_x4","_updateManagedObject","_ref4","_x5","_deleteManagedObject2","_ref5","_deleteManagedObject","_x6","_queryManagedObjects2","_ref6","_queryManagedObjects","_x7","_resolveUserName","_ref7","userName","error","_x8","_resolveFullName","_ref8","managedObject","givenName","sn"],"sources":["../../src/ops/ManagedObjectOps.ts"],"sourcesContent":["import { IdObjectSkeletonInterface } from '../api/ApiTypes';\nimport {\n createManagedObject as _createManagedObject,\n deleteManagedObject as _deleteManagedObject,\n getManagedObject as _getManagedObject,\n putManagedObject as _putManagedObject,\n queryAllManagedObjectsByType,\n queryManagedObjects as _queryManagedObjects,\n} from '../api/ManagedObjectApi';\nimport { State } from '../shared/State';\n\nexport type ManagedObject = {\n /**\n * Create managed object\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {IdObjectSkeletonInterface} moData managed object data\n * @param {string} id managed object _id\n */\n createManagedObject(\n type: string,\n moData: IdObjectSkeletonInterface,\n id?: string\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Read managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {string[]} id array of fields to include\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an IdObjectSkeletonInterface\n */\n readManagedObject(\n type: string,\n id: string,\n fields: string[]\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Read all managed object of the specified type\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string[]} fields array of fields to return\n * @returns {Promise<IdObjectSkeletonInterface[]>} a promise that resolves to an array of IdObjectSkeletonInterfaces\n */\n readManagedObjects(\n type: string,\n fields: string[]\n ): Promise<IdObjectSkeletonInterface[]>;\n /**\n * Update managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {IdObjectSkeletonInterface} moData managed object data\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an IdObjectSkeletonInterface\n */\n updateManagedObject(\n type: string,\n id: string,\n moData: IdObjectSkeletonInterface\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Delete managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an IdObjectSkeletonInterface\n */\n deleteManagedObject(\n type: string,\n id: string\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Query managed objects\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} filter CREST search filter\n * @param {string[]} fields array of fields to return\n * @return {Promise<IdObjectSkeletonInterface[]>} a promise resolving to an array of managed objects\n */\n queryManagedObjects(\n type: string,\n filter?: string,\n fields?: string[]\n ): Promise<IdObjectSkeletonInterface[]>;\n /**\n * Resolve a managed object's uuid to a human readable username\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @returns {Promise<string>} resolved username or uuid if any error occurs during reslution\n */\n resolveUserName(type: string, id: string): Promise<string>;\n /**\n * Resolve a managed object's uuid to a human readable full name\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @returns {Promise<string>} resolved full name or uuid if any error occurs during reslution\n */\n resolveFullName(type: string, id: string): Promise<string>;\n};\n\nexport default (state: State): ManagedObject => {\n return {\n async createManagedObject(\n type: string,\n moData: IdObjectSkeletonInterface,\n id: string = undefined\n ): Promise<IdObjectSkeletonInterface> {\n return createManagedObject({ type, id, moData, state });\n },\n async readManagedObject(\n type: string,\n id: string,\n fields: string[]\n ): Promise<IdObjectSkeletonInterface> {\n return readManagedObject({ type, id, fields, state });\n },\n async readManagedObjects(\n type: string,\n fields: string[]\n ): Promise<IdObjectSkeletonInterface[]> {\n return readManagedObjects({ type, fields, state });\n },\n async updateManagedObject(\n type: string,\n id: string,\n moData: IdObjectSkeletonInterface\n ): Promise<IdObjectSkeletonInterface> {\n return updateManagedObject({ type, id, moData, state });\n },\n async deleteManagedObject(\n type: string,\n id: string\n ): Promise<IdObjectSkeletonInterface> {\n return deleteManagedObject({ type, id, state });\n },\n async queryManagedObjects(\n type: string,\n filter: string = undefined,\n fields: string[] = []\n ): Promise<IdObjectSkeletonInterface[]> {\n return queryManagedObjects({ type, filter, fields, state });\n },\n async resolveUserName(type: string, id: string) {\n return resolveUserName({ type, id, state });\n },\n async resolveFullName(type: string, id: string) {\n return resolveFullName({ type, id, state });\n },\n };\n};\n\nexport async function createManagedObject({\n type,\n id,\n moData,\n state,\n}: {\n type: string;\n id?: string;\n moData: IdObjectSkeletonInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n if (id)\n return _putManagedObject({ type, id, moData, failIfExists: true, state });\n return _createManagedObject({ moType: type, moData, state });\n}\n\nexport async function readManagedObject({\n type,\n id,\n fields,\n state,\n}: {\n type: string;\n id: string;\n fields: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n return _getManagedObject({ type, id, fields, state });\n}\n\nexport async function readManagedObjects({\n type,\n fields,\n state,\n}: {\n type: string;\n fields: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface[]> {\n let managedObjects: IdObjectSkeletonInterface[] = [];\n let result = {\n result: [],\n resultCount: 0,\n pagedResultsCookie: null,\n totalPagedResultsPolicy: 'NONE',\n totalPagedResults: -1,\n remainingPagedResults: -1,\n };\n do {\n result = await queryAllManagedObjectsByType({\n type,\n fields,\n pageCookie: result.pagedResultsCookie,\n state,\n });\n managedObjects = managedObjects.concat(result.result);\n } while (result.pagedResultsCookie);\n return managedObjects;\n}\n\nexport async function updateManagedObject({\n type,\n id,\n moData,\n state,\n}: {\n type: string;\n id: string;\n moData: IdObjectSkeletonInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n return _putManagedObject({ type, id, moData, state });\n}\n\nexport async function deleteManagedObject({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n return _deleteManagedObject({ type, id, state });\n}\n\nexport async function queryManagedObjects({\n type,\n filter = 'true',\n fields = ['*'],\n state,\n}: {\n type: string;\n filter?: string;\n fields?: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface[]> {\n const { result } = await _queryManagedObjects({\n type,\n filter,\n fields,\n state,\n });\n return result;\n}\n\nexport async function resolveUserName({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<string> {\n try {\n return (\n await _getManagedObject({\n type,\n id,\n fields: ['userName'],\n state,\n })\n ).userName as string;\n } catch (error) {\n // ignore\n }\n return id;\n}\n\nexport async function resolveFullName({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<string> {\n try {\n const managedObject = await _getManagedObject({\n type,\n id,\n fields: ['givenName', 'sn'],\n state,\n });\n return `${managedObject.givenName} ${managedObject.sn}`;\n } catch (error) {\n // ignore\n }\n return id;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ManagedObjectOps.js","names":["state","createManagedObject","type","moData","_arguments","arguments","_asyncToGenerator","id","length","undefined","readManagedObject","fields","readManagedObjects","updateManagedObject","updateManagedObjectProperties","operations","deleteManagedObject","queryManagedObjects","_arguments2","filter","resolveUserName","resolveFullName","exports","default","_default","_x","_createManagedObject2","apply","_ref","_putManagedObject","failIfExists","_createManagedObject","moType","_x2","_readManagedObject","_ref2","_getManagedObject","_x3","_readManagedObjects","_ref3","managedObjects","result","resultCount","pagedResultsCookie","totalPagedResultsPolicy","totalPagedResults","remainingPagedResults","queryAllManagedObjectsByType","pageCookie","concat","_x4","_updateManagedObject","_ref4","_x5","_updateManagedObjectProperties","_ref5","_patchManagedObject","_x6","_deleteManagedObject2","_ref6","_deleteManagedObject","_x7","_queryManagedObjects2","_ref7","_queryManagedObjects","_x8","_resolveUserName","_ref8","userName","error","_x9","_resolveFullName","_ref9","managedObject","givenName","sn"],"sources":["../../src/ops/ManagedObjectOps.ts"],"sourcesContent":["import { IdObjectSkeletonInterface } from '../api/ApiTypes';\nimport {\n createManagedObject as _createManagedObject,\n deleteManagedObject as _deleteManagedObject,\n getManagedObject as _getManagedObject,\n type ManagedObjectPatchOperationInterface,\n patchManagedObject as _patchManagedObject,\n putManagedObject as _putManagedObject,\n queryAllManagedObjectsByType,\n queryManagedObjects as _queryManagedObjects,\n} from '../api/ManagedObjectApi';\nimport { State } from '../shared/State';\n\nexport type ManagedObject = {\n /**\n * Create managed object\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {IdObjectSkeletonInterface} moData managed object data\n * @param {string} id managed object _id\n */\n createManagedObject(\n type: string,\n moData: IdObjectSkeletonInterface,\n id?: string\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Read managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {string[]} id array of fields to include\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an IdObjectSkeletonInterface\n */\n readManagedObject(\n type: string,\n id: string,\n fields: string[]\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Read all managed object of the specified type\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string[]} fields array of fields to return\n * @returns {Promise<IdObjectSkeletonInterface[]>} a promise that resolves to an array of IdObjectSkeletonInterfaces\n */\n readManagedObjects(\n type: string,\n fields: string[]\n ): Promise<IdObjectSkeletonInterface[]>;\n /**\n * Update managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {IdObjectSkeletonInterface} moData managed object data\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an IdObjectSkeletonInterface\n */\n updateManagedObject(\n type: string,\n id: string,\n moData: IdObjectSkeletonInterface\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Partially update managed object through a collection of patch operations.\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {ManagedObjectPatchOperationInterface[]} operations collection of patch operations to perform on the object\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an IdObjectSkeletonInterface\n */\n updateManagedObjectProperties(\n type: string,\n id: string,\n operations: ManagedObjectPatchOperationInterface[]\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Delete managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an IdObjectSkeletonInterface\n */\n deleteManagedObject(\n type: string,\n id: string\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Query managed objects\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} filter CREST search filter\n * @param {string[]} fields array of fields to return\n * @return {Promise<IdObjectSkeletonInterface[]>} a promise resolving to an array of managed objects\n */\n queryManagedObjects(\n type: string,\n filter?: string,\n fields?: string[]\n ): Promise<IdObjectSkeletonInterface[]>;\n /**\n * Resolve a managed object's uuid to a human readable username\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @returns {Promise<string>} resolved username or uuid if any error occurs during reslution\n */\n resolveUserName(type: string, id: string): Promise<string>;\n /**\n * Resolve a managed object's uuid to a human readable full name\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @returns {Promise<string>} resolved full name or uuid if any error occurs during reslution\n */\n resolveFullName(type: string, id: string): Promise<string>;\n};\n\nexport default (state: State): ManagedObject => {\n return {\n async createManagedObject(\n type: string,\n moData: IdObjectSkeletonInterface,\n id: string = undefined\n ): Promise<IdObjectSkeletonInterface> {\n return createManagedObject({ type, id, moData, state });\n },\n async readManagedObject(\n type: string,\n id: string,\n fields: string[]\n ): Promise<IdObjectSkeletonInterface> {\n return readManagedObject({ type, id, fields, state });\n },\n async readManagedObjects(\n type: string,\n fields: string[]\n ): Promise<IdObjectSkeletonInterface[]> {\n return readManagedObjects({ type, fields, state });\n },\n async updateManagedObject(\n type: string,\n id: string,\n moData: IdObjectSkeletonInterface\n ): Promise<IdObjectSkeletonInterface> {\n return updateManagedObject({ type, id, moData, state });\n },\n async updateManagedObjectProperties(\n type: string,\n id: string,\n operations: ManagedObjectPatchOperationInterface[]\n ): Promise<IdObjectSkeletonInterface> {\n return updateManagedObjectProperties({ type, id, operations, state });\n },\n async deleteManagedObject(\n type: string,\n id: string\n ): Promise<IdObjectSkeletonInterface> {\n return deleteManagedObject({ type, id, state });\n },\n async queryManagedObjects(\n type: string,\n filter: string = undefined,\n fields: string[] = []\n ): Promise<IdObjectSkeletonInterface[]> {\n return queryManagedObjects({ type, filter, fields, state });\n },\n async resolveUserName(type: string, id: string) {\n return resolveUserName({ type, id, state });\n },\n async resolveFullName(type: string, id: string) {\n return resolveFullName({ type, id, state });\n },\n };\n};\n\nexport async function createManagedObject({\n type,\n id,\n moData,\n state,\n}: {\n type: string;\n id?: string;\n moData: IdObjectSkeletonInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n if (id)\n return _putManagedObject({ type, id, moData, failIfExists: true, state });\n return _createManagedObject({ moType: type, moData, state });\n}\n\nexport async function readManagedObject({\n type,\n id,\n fields,\n state,\n}: {\n type: string;\n id: string;\n fields: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n return _getManagedObject({ type, id, fields, state });\n}\n\nexport async function readManagedObjects({\n type,\n fields,\n state,\n}: {\n type: string;\n fields: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface[]> {\n let managedObjects: IdObjectSkeletonInterface[] = [];\n let result = {\n result: [],\n resultCount: 0,\n pagedResultsCookie: null,\n totalPagedResultsPolicy: 'NONE',\n totalPagedResults: -1,\n remainingPagedResults: -1,\n };\n do {\n result = await queryAllManagedObjectsByType({\n type,\n fields,\n pageCookie: result.pagedResultsCookie,\n state,\n });\n managedObjects = managedObjects.concat(result.result);\n } while (result.pagedResultsCookie);\n return managedObjects;\n}\n\nexport async function updateManagedObject({\n type,\n id,\n moData,\n state,\n}: {\n type: string;\n id: string;\n moData: IdObjectSkeletonInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n return _putManagedObject({ type, id, moData, state });\n}\n\nexport async function updateManagedObjectProperties({\n type,\n id,\n operations,\n state,\n}: {\n type: string;\n id: string;\n operations: ManagedObjectPatchOperationInterface[];\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n return _patchManagedObject({ type, id, operations, state });\n}\n\nexport async function deleteManagedObject({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n return _deleteManagedObject({ type, id, state });\n}\n\nexport async function queryManagedObjects({\n type,\n filter = 'true',\n fields = ['*'],\n state,\n}: {\n type: string;\n filter?: string;\n fields?: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface[]> {\n const { result } = await _queryManagedObjects({\n type,\n filter,\n fields,\n state,\n });\n return result;\n}\n\nexport async function resolveUserName({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<string> {\n try {\n return (\n await _getManagedObject({\n type,\n id,\n fields: ['userName'],\n state,\n })\n ).userName as string;\n } catch (error) {\n // ignore\n }\n return id;\n}\n\nexport async function resolveFullName({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<string> {\n try {\n const managedObject = await _getManagedObject({\n type,\n id,\n fields: ['givenName', 'sn'],\n state,\n });\n return `${managedObject.givenName} ${managedObject.sn}`;\n } catch (error) {\n // ignore\n }\n return id;\n}\n"],"mappings":"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"}
|
|
@@ -6,6 +6,10 @@ const managedObjectByIdURLTemplate = '%s/openidm/managed/%s/%s';
|
|
|
6
6
|
const managedObjectQueryAllURLTemplate = `%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000`;
|
|
7
7
|
const findManagedObjectURLTemplate = `%s/openidm/managed/%s?_queryFilter=%s&_pageSize=10000`;
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* See {@link https://backstage.forgerock.com/docs/idm/7/rest-api-reference/sec-about-crest.html#about-crest-patch}.
|
|
11
|
+
*/
|
|
12
|
+
|
|
9
13
|
/**
|
|
10
14
|
* Get managed object
|
|
11
15
|
* @param {string} type managed object type, e.g. alpha_user or user
|
|
@@ -83,6 +87,29 @@ export async function putManagedObject({
|
|
|
83
87
|
return data;
|
|
84
88
|
}
|
|
85
89
|
|
|
90
|
+
/**
|
|
91
|
+
* Partially update a managed object, with a collection of operations.
|
|
92
|
+
* @param {string} type managed object type, e.g. alpha_user or user
|
|
93
|
+
* @param {string} id managed object id
|
|
94
|
+
* @param {ManagedObjectPatchOperationInterface[]} operations collection of patch operations to perform on the object
|
|
95
|
+
* @param state library state
|
|
96
|
+
* @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to the updated managed object
|
|
97
|
+
*/
|
|
98
|
+
export async function patchManagedObject({
|
|
99
|
+
type,
|
|
100
|
+
id,
|
|
101
|
+
operations,
|
|
102
|
+
state
|
|
103
|
+
}) {
|
|
104
|
+
const urlString = util.format(managedObjectByIdURLTemplate, getHostBaseUrl(state.getHost()), type, id);
|
|
105
|
+
const {
|
|
106
|
+
data
|
|
107
|
+
} = await generateIdmApi({
|
|
108
|
+
state
|
|
109
|
+
}).patch(urlString, operations);
|
|
110
|
+
return data;
|
|
111
|
+
}
|
|
112
|
+
|
|
86
113
|
/**
|
|
87
114
|
* Query managed object
|
|
88
115
|
* @param {string} type managed object type, e.g. alpha_user or user
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedObjectApi.js","names":["util","getHostBaseUrl","generateIdmApi","createManagedObjectURLTemplate","managedObjectByIdURLTemplate","managedObjectQueryAllURLTemplate","findManagedObjectURLTemplate","getManagedObject","type","id","fields","state","fieldsParam","join","urlString","format","getHost","data","requestOverride","get","createManagedObject","moType","moData","post","putManagedObject","failIfExists","headers","put","queryManagedObjects","filter","queryAllManagedObjectsByType","pageCookie","undefined","length","urlTemplate","encodeURIComponent","deleteManagedObject","delete"],"sources":["../../src/api/ManagedObjectApi.ts"],"sourcesContent":["import util from 'util';\n\nimport { State } from '../shared/State';\nimport { getHostBaseUrl } from '../utils/ForgeRockUtils';\nimport { IdObjectSkeletonInterface, PagedResult } from './ApiTypes';\nimport { generateIdmApi } from './BaseApi';\n\nconst createManagedObjectURLTemplate = '%s/openidm/managed/%s?_action=create';\nconst managedObjectByIdURLTemplate = '%s/openidm/managed/%s/%s';\nconst managedObjectQueryAllURLTemplate = `%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000`;\nconst findManagedObjectURLTemplate = `%s/openidm/managed/%s?_queryFilter=%s&_pageSize=10000`;\n\n/**\n * Get managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {string[]} id array of fields to include\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an ObjectSkeletonInterface\n */\nexport async function getManagedObject({\n type,\n id,\n fields = ['*'],\n state,\n}: {\n type: string;\n id: string;\n fields: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const fieldsParam = `_fields=${fields.join(',')}`;\n const urlString = util.format(\n `${managedObjectByIdURLTemplate}?${fieldsParam}`,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).get(\n urlString\n );\n return data as IdObjectSkeletonInterface;\n}\n\n/**\n * Create managed object with server-generated id\n * @param {string} moType managed object type\n * @param {IdObjectSkeletonInterface} moData managed object data\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function createManagedObject({\n moType,\n moData,\n state,\n}: {\n moType: string;\n moData: IdObjectSkeletonInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n createManagedObjectURLTemplate,\n getHostBaseUrl(state.getHost()),\n moType\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).post(\n urlString,\n moData\n );\n return data;\n}\n\n/**\n * Create or update managed object\n * @param {string} id managed object id\n * @param {IdObjectSkeletonInterface} moData managed object\n * @param {boolean} failIfExists fail if exists\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function putManagedObject({\n type,\n id,\n moData,\n failIfExists = false,\n state,\n}: {\n type: string;\n id: string;\n moData: IdObjectSkeletonInterface;\n failIfExists?: boolean;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n const requestOverride = failIfExists\n ? { headers: { 'If-None-Match': '*' } }\n : {};\n const { data } = await generateIdmApi({ requestOverride, state }).put(\n urlString,\n moData\n );\n return data;\n}\n\n/**\n * Query managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} filter CREST search filter\n * @param {string[]} id array of fields to include\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface[]>} a promise that resolves to an ObjectSkeletonInterface\n */\nexport async function queryManagedObjects({\n type,\n filter,\n fields = ['*'],\n state,\n}: {\n type: string;\n filter: string;\n fields: string[];\n state: State;\n}): Promise<PagedResult<IdObjectSkeletonInterface>> {\n const fieldsParam = `_fields=${fields.join(',')}`;\n const urlString = util.format(\n `${findManagedObjectURLTemplate}&${fieldsParam}`,\n getHostBaseUrl(state.getHost()),\n type,\n filter\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).get(\n urlString\n );\n return data as PagedResult<IdObjectSkeletonInterface>;\n}\n\n/**\n * Query managed objects\n * @param {string} type managed object type\n * @param {string[]} fields fields to retrieve\n * @param {string} pageCookie paged results cookie\n * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType({\n type,\n fields = [],\n pageCookie = undefined,\n state,\n}: {\n type: string;\n fields?: string[];\n pageCookie?: string;\n state: State;\n}): Promise<PagedResult<IdObjectSkeletonInterface>> {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${managedObjectQueryAllURLTemplate}${fieldsParam}&_pagedResultsCookie=${encodeURIComponent(\n pageCookie\n )}`\n : `${managedObjectQueryAllURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getHostBaseUrl(state.getHost()),\n type\n );\n const { data } = await generateIdmApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Delete managed object\n * @param {string} id managed object id\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function deleteManagedObject({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).delete(\n urlString\n );\n return data;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ManagedObjectApi.js","names":["util","getHostBaseUrl","generateIdmApi","createManagedObjectURLTemplate","managedObjectByIdURLTemplate","managedObjectQueryAllURLTemplate","findManagedObjectURLTemplate","getManagedObject","type","id","fields","state","fieldsParam","join","urlString","format","getHost","data","requestOverride","get","createManagedObject","moType","moData","post","putManagedObject","failIfExists","headers","put","patchManagedObject","operations","patch","queryManagedObjects","filter","queryAllManagedObjectsByType","pageCookie","undefined","length","urlTemplate","encodeURIComponent","deleteManagedObject","delete"],"sources":["../../src/api/ManagedObjectApi.ts"],"sourcesContent":["import util from 'util';\n\nimport { State } from '../shared/State';\nimport { getHostBaseUrl } from '../utils/ForgeRockUtils';\nimport { IdObjectSkeletonInterface, PagedResult } from './ApiTypes';\nimport { generateIdmApi } from './BaseApi';\n\nconst createManagedObjectURLTemplate = '%s/openidm/managed/%s?_action=create';\nconst managedObjectByIdURLTemplate = '%s/openidm/managed/%s/%s';\nconst managedObjectQueryAllURLTemplate = `%s/openidm/managed/%s?_queryFilter=true&_pageSize=10000`;\nconst findManagedObjectURLTemplate = `%s/openidm/managed/%s?_queryFilter=%s&_pageSize=10000`;\n\n/**\n * See {@link https://backstage.forgerock.com/docs/idm/7/rest-api-reference/sec-about-crest.html#about-crest-patch}.\n */\nexport interface ManagedObjectPatchOperationInterface {\n operation: string;\n field: string;\n value: string | Array<string> | number;\n}\n\n/**\n * Get managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {string[]} id array of fields to include\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an ObjectSkeletonInterface\n */\nexport async function getManagedObject({\n type,\n id,\n fields = ['*'],\n state,\n}: {\n type: string;\n id: string;\n fields: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const fieldsParam = `_fields=${fields.join(',')}`;\n const urlString = util.format(\n `${managedObjectByIdURLTemplate}?${fieldsParam}`,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).get(\n urlString\n );\n return data as IdObjectSkeletonInterface;\n}\n\n/**\n * Create managed object with server-generated id\n * @param {string} moType managed object type\n * @param {IdObjectSkeletonInterface} moData managed object data\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function createManagedObject({\n moType,\n moData,\n state,\n}: {\n moType: string;\n moData: IdObjectSkeletonInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n createManagedObjectURLTemplate,\n getHostBaseUrl(state.getHost()),\n moType\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).post(\n urlString,\n moData\n );\n return data;\n}\n\n/**\n * Create or update managed object\n * @param {string} id managed object id\n * @param {IdObjectSkeletonInterface} moData managed object\n * @param {boolean} failIfExists fail if exists\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function putManagedObject({\n type,\n id,\n moData,\n failIfExists = false,\n state,\n}: {\n type: string;\n id: string;\n moData: IdObjectSkeletonInterface;\n failIfExists?: boolean;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n const requestOverride = failIfExists\n ? { headers: { 'If-None-Match': '*' } }\n : {};\n const { data } = await generateIdmApi({ requestOverride, state }).put(\n urlString,\n moData\n );\n return data;\n}\n\n/**\n * Partially update a managed object, with a collection of operations.\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {ManagedObjectPatchOperationInterface[]} operations collection of patch operations to perform on the object\n * @param state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to the updated managed object\n */\nexport async function patchManagedObject({\n type,\n id,\n operations,\n state,\n}: {\n type: string;\n id: string;\n operations: ManagedObjectPatchOperationInterface[];\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n\n const { data } = await generateIdmApi({ state }).patch(urlString, operations);\n return data;\n}\n\n/**\n * Query managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} filter CREST search filter\n * @param {string[]} id array of fields to include\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface[]>} a promise that resolves to an ObjectSkeletonInterface\n */\nexport async function queryManagedObjects({\n type,\n filter,\n fields = ['*'],\n state,\n}: {\n type: string;\n filter: string;\n fields: string[];\n state: State;\n}): Promise<PagedResult<IdObjectSkeletonInterface>> {\n const fieldsParam = `_fields=${fields.join(',')}`;\n const urlString = util.format(\n `${findManagedObjectURLTemplate}&${fieldsParam}`,\n getHostBaseUrl(state.getHost()),\n type,\n filter\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).get(\n urlString\n );\n return data as PagedResult<IdObjectSkeletonInterface>;\n}\n\n/**\n * Query managed objects\n * @param {string} type managed object type\n * @param {string[]} fields fields to retrieve\n * @param {string} pageCookie paged results cookie\n * @returns {Promise<{result: any[]; resultCount: number; pagedResultsCookie: any; totalPagedResultsPolicy: string; totalPagedResults: number; remainingPagedResults: number;}>} a promise that resolves to managed objects of the desired type\n */\nexport async function queryAllManagedObjectsByType({\n type,\n fields = [],\n pageCookie = undefined,\n state,\n}: {\n type: string;\n fields?: string[];\n pageCookie?: string;\n state: State;\n}): Promise<PagedResult<IdObjectSkeletonInterface>> {\n const fieldsParam =\n fields.length > 0 ? `&_fields=${fields.join(',')}` : '&_fields=_id';\n const urlTemplate = pageCookie\n ? `${managedObjectQueryAllURLTemplate}${fieldsParam}&_pagedResultsCookie=${encodeURIComponent(\n pageCookie\n )}`\n : `${managedObjectQueryAllURLTemplate}${fieldsParam}`;\n const urlString = util.format(\n urlTemplate,\n getHostBaseUrl(state.getHost()),\n type\n );\n const { data } = await generateIdmApi({ state }).get(urlString);\n return data;\n}\n\n/**\n * Delete managed object\n * @param {string} id managed object id\n * @param {State} state library state\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an object containing a managed object\n */\nexport async function deleteManagedObject({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n const urlString = util.format(\n managedObjectByIdURLTemplate,\n getHostBaseUrl(state.getHost()),\n type,\n id\n );\n const { data } = await generateIdmApi({ requestOverride: {}, state }).delete(\n urlString\n );\n return data;\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createManagedObject as _createManagedObject, deleteManagedObject as _deleteManagedObject, getManagedObject as _getManagedObject, putManagedObject as _putManagedObject, queryAllManagedObjectsByType, queryManagedObjects as _queryManagedObjects } from "../api/ManagedObjectApi.js";
|
|
1
|
+
import { createManagedObject as _createManagedObject, deleteManagedObject as _deleteManagedObject, getManagedObject as _getManagedObject, patchManagedObject as _patchManagedObject, putManagedObject as _putManagedObject, queryAllManagedObjectsByType, queryManagedObjects as _queryManagedObjects } from "../api/ManagedObjectApi.js";
|
|
2
2
|
export default (state => {
|
|
3
3
|
return {
|
|
4
4
|
async createManagedObject(type, moData, id = undefined) {
|
|
@@ -32,6 +32,14 @@ export default (state => {
|
|
|
32
32
|
state
|
|
33
33
|
});
|
|
34
34
|
},
|
|
35
|
+
async updateManagedObjectProperties(type, id, operations) {
|
|
36
|
+
return updateManagedObjectProperties({
|
|
37
|
+
type,
|
|
38
|
+
id,
|
|
39
|
+
operations,
|
|
40
|
+
state
|
|
41
|
+
});
|
|
42
|
+
},
|
|
35
43
|
async deleteManagedObject(type, id) {
|
|
36
44
|
return deleteManagedObject({
|
|
37
45
|
type,
|
|
@@ -133,6 +141,19 @@ export async function updateManagedObject({
|
|
|
133
141
|
state
|
|
134
142
|
});
|
|
135
143
|
}
|
|
144
|
+
export async function updateManagedObjectProperties({
|
|
145
|
+
type,
|
|
146
|
+
id,
|
|
147
|
+
operations,
|
|
148
|
+
state
|
|
149
|
+
}) {
|
|
150
|
+
return _patchManagedObject({
|
|
151
|
+
type,
|
|
152
|
+
id,
|
|
153
|
+
operations,
|
|
154
|
+
state
|
|
155
|
+
});
|
|
156
|
+
}
|
|
136
157
|
export async function deleteManagedObject({
|
|
137
158
|
type,
|
|
138
159
|
id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedObjectOps.js","names":["createManagedObject","_createManagedObject","deleteManagedObject","_deleteManagedObject","getManagedObject","_getManagedObject","putManagedObject","_putManagedObject","queryAllManagedObjectsByType","queryManagedObjects","_queryManagedObjects","state","type","moData","id","undefined","readManagedObject","fields","readManagedObjects","updateManagedObject","filter","resolveUserName","resolveFullName","failIfExists","moType","managedObjects","result","resultCount","pagedResultsCookie","totalPagedResultsPolicy","totalPagedResults","remainingPagedResults","pageCookie","concat","userName","error","managedObject","givenName","sn"],"sources":["../../src/ops/ManagedObjectOps.ts"],"sourcesContent":["import { IdObjectSkeletonInterface } from '../api/ApiTypes';\nimport {\n createManagedObject as _createManagedObject,\n deleteManagedObject as _deleteManagedObject,\n getManagedObject as _getManagedObject,\n putManagedObject as _putManagedObject,\n queryAllManagedObjectsByType,\n queryManagedObjects as _queryManagedObjects,\n} from '../api/ManagedObjectApi';\nimport { State } from '../shared/State';\n\nexport type ManagedObject = {\n /**\n * Create managed object\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {IdObjectSkeletonInterface} moData managed object data\n * @param {string} id managed object _id\n */\n createManagedObject(\n type: string,\n moData: IdObjectSkeletonInterface,\n id?: string\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Read managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {string[]} id array of fields to include\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an IdObjectSkeletonInterface\n */\n readManagedObject(\n type: string,\n id: string,\n fields: string[]\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Read all managed object of the specified type\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string[]} fields array of fields to return\n * @returns {Promise<IdObjectSkeletonInterface[]>} a promise that resolves to an array of IdObjectSkeletonInterfaces\n */\n readManagedObjects(\n type: string,\n fields: string[]\n ): Promise<IdObjectSkeletonInterface[]>;\n /**\n * Update managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {IdObjectSkeletonInterface} moData managed object data\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an IdObjectSkeletonInterface\n */\n updateManagedObject(\n type: string,\n id: string,\n moData: IdObjectSkeletonInterface\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Delete managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an IdObjectSkeletonInterface\n */\n deleteManagedObject(\n type: string,\n id: string\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Query managed objects\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} filter CREST search filter\n * @param {string[]} fields array of fields to return\n * @return {Promise<IdObjectSkeletonInterface[]>} a promise resolving to an array of managed objects\n */\n queryManagedObjects(\n type: string,\n filter?: string,\n fields?: string[]\n ): Promise<IdObjectSkeletonInterface[]>;\n /**\n * Resolve a managed object's uuid to a human readable username\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @returns {Promise<string>} resolved username or uuid if any error occurs during reslution\n */\n resolveUserName(type: string, id: string): Promise<string>;\n /**\n * Resolve a managed object's uuid to a human readable full name\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @returns {Promise<string>} resolved full name or uuid if any error occurs during reslution\n */\n resolveFullName(type: string, id: string): Promise<string>;\n};\n\nexport default (state: State): ManagedObject => {\n return {\n async createManagedObject(\n type: string,\n moData: IdObjectSkeletonInterface,\n id: string = undefined\n ): Promise<IdObjectSkeletonInterface> {\n return createManagedObject({ type, id, moData, state });\n },\n async readManagedObject(\n type: string,\n id: string,\n fields: string[]\n ): Promise<IdObjectSkeletonInterface> {\n return readManagedObject({ type, id, fields, state });\n },\n async readManagedObjects(\n type: string,\n fields: string[]\n ): Promise<IdObjectSkeletonInterface[]> {\n return readManagedObjects({ type, fields, state });\n },\n async updateManagedObject(\n type: string,\n id: string,\n moData: IdObjectSkeletonInterface\n ): Promise<IdObjectSkeletonInterface> {\n return updateManagedObject({ type, id, moData, state });\n },\n async deleteManagedObject(\n type: string,\n id: string\n ): Promise<IdObjectSkeletonInterface> {\n return deleteManagedObject({ type, id, state });\n },\n async queryManagedObjects(\n type: string,\n filter: string = undefined,\n fields: string[] = []\n ): Promise<IdObjectSkeletonInterface[]> {\n return queryManagedObjects({ type, filter, fields, state });\n },\n async resolveUserName(type: string, id: string) {\n return resolveUserName({ type, id, state });\n },\n async resolveFullName(type: string, id: string) {\n return resolveFullName({ type, id, state });\n },\n };\n};\n\nexport async function createManagedObject({\n type,\n id,\n moData,\n state,\n}: {\n type: string;\n id?: string;\n moData: IdObjectSkeletonInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n if (id)\n return _putManagedObject({ type, id, moData, failIfExists: true, state });\n return _createManagedObject({ moType: type, moData, state });\n}\n\nexport async function readManagedObject({\n type,\n id,\n fields,\n state,\n}: {\n type: string;\n id: string;\n fields: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n return _getManagedObject({ type, id, fields, state });\n}\n\nexport async function readManagedObjects({\n type,\n fields,\n state,\n}: {\n type: string;\n fields: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface[]> {\n let managedObjects: IdObjectSkeletonInterface[] = [];\n let result = {\n result: [],\n resultCount: 0,\n pagedResultsCookie: null,\n totalPagedResultsPolicy: 'NONE',\n totalPagedResults: -1,\n remainingPagedResults: -1,\n };\n do {\n result = await queryAllManagedObjectsByType({\n type,\n fields,\n pageCookie: result.pagedResultsCookie,\n state,\n });\n managedObjects = managedObjects.concat(result.result);\n } while (result.pagedResultsCookie);\n return managedObjects;\n}\n\nexport async function updateManagedObject({\n type,\n id,\n moData,\n state,\n}: {\n type: string;\n id: string;\n moData: IdObjectSkeletonInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n return _putManagedObject({ type, id, moData, state });\n}\n\nexport async function deleteManagedObject({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n return _deleteManagedObject({ type, id, state });\n}\n\nexport async function queryManagedObjects({\n type,\n filter = 'true',\n fields = ['*'],\n state,\n}: {\n type: string;\n filter?: string;\n fields?: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface[]> {\n const { result } = await _queryManagedObjects({\n type,\n filter,\n fields,\n state,\n });\n return result;\n}\n\nexport async function resolveUserName({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<string> {\n try {\n return (\n await _getManagedObject({\n type,\n id,\n fields: ['userName'],\n state,\n })\n ).userName as string;\n } catch (error) {\n // ignore\n }\n return id;\n}\n\nexport async function resolveFullName({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<string> {\n try {\n const managedObject = await _getManagedObject({\n type,\n id,\n fields: ['givenName', 'sn'],\n state,\n });\n return `${managedObject.givenName} ${managedObject.sn}`;\n } catch (error) {\n // ignore\n }\n return id;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ManagedObjectOps.js","names":["createManagedObject","_createManagedObject","deleteManagedObject","_deleteManagedObject","getManagedObject","_getManagedObject","patchManagedObject","_patchManagedObject","putManagedObject","_putManagedObject","queryAllManagedObjectsByType","queryManagedObjects","_queryManagedObjects","state","type","moData","id","undefined","readManagedObject","fields","readManagedObjects","updateManagedObject","updateManagedObjectProperties","operations","filter","resolveUserName","resolveFullName","failIfExists","moType","managedObjects","result","resultCount","pagedResultsCookie","totalPagedResultsPolicy","totalPagedResults","remainingPagedResults","pageCookie","concat","userName","error","managedObject","givenName","sn"],"sources":["../../src/ops/ManagedObjectOps.ts"],"sourcesContent":["import { IdObjectSkeletonInterface } from '../api/ApiTypes';\nimport {\n createManagedObject as _createManagedObject,\n deleteManagedObject as _deleteManagedObject,\n getManagedObject as _getManagedObject,\n type ManagedObjectPatchOperationInterface,\n patchManagedObject as _patchManagedObject,\n putManagedObject as _putManagedObject,\n queryAllManagedObjectsByType,\n queryManagedObjects as _queryManagedObjects,\n} from '../api/ManagedObjectApi';\nimport { State } from '../shared/State';\n\nexport type ManagedObject = {\n /**\n * Create managed object\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {IdObjectSkeletonInterface} moData managed object data\n * @param {string} id managed object _id\n */\n createManagedObject(\n type: string,\n moData: IdObjectSkeletonInterface,\n id?: string\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Read managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {string[]} id array of fields to include\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an IdObjectSkeletonInterface\n */\n readManagedObject(\n type: string,\n id: string,\n fields: string[]\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Read all managed object of the specified type\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string[]} fields array of fields to return\n * @returns {Promise<IdObjectSkeletonInterface[]>} a promise that resolves to an array of IdObjectSkeletonInterfaces\n */\n readManagedObjects(\n type: string,\n fields: string[]\n ): Promise<IdObjectSkeletonInterface[]>;\n /**\n * Update managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {IdObjectSkeletonInterface} moData managed object data\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an IdObjectSkeletonInterface\n */\n updateManagedObject(\n type: string,\n id: string,\n moData: IdObjectSkeletonInterface\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Partially update managed object through a collection of patch operations.\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @param {ManagedObjectPatchOperationInterface[]} operations collection of patch operations to perform on the object\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an IdObjectSkeletonInterface\n */\n updateManagedObjectProperties(\n type: string,\n id: string,\n operations: ManagedObjectPatchOperationInterface[]\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Delete managed object\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} id managed object id\n * @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an IdObjectSkeletonInterface\n */\n deleteManagedObject(\n type: string,\n id: string\n ): Promise<IdObjectSkeletonInterface>;\n /**\n * Query managed objects\n * @param {string} type managed object type, e.g. alpha_user or user\n * @param {string} filter CREST search filter\n * @param {string[]} fields array of fields to return\n * @return {Promise<IdObjectSkeletonInterface[]>} a promise resolving to an array of managed objects\n */\n queryManagedObjects(\n type: string,\n filter?: string,\n fields?: string[]\n ): Promise<IdObjectSkeletonInterface[]>;\n /**\n * Resolve a managed object's uuid to a human readable username\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @returns {Promise<string>} resolved username or uuid if any error occurs during reslution\n */\n resolveUserName(type: string, id: string): Promise<string>;\n /**\n * Resolve a managed object's uuid to a human readable full name\n * @param {string} type managed object type, e.g. teammember or alpha_user\n * @param {string} id managed object _id\n * @returns {Promise<string>} resolved full name or uuid if any error occurs during reslution\n */\n resolveFullName(type: string, id: string): Promise<string>;\n};\n\nexport default (state: State): ManagedObject => {\n return {\n async createManagedObject(\n type: string,\n moData: IdObjectSkeletonInterface,\n id: string = undefined\n ): Promise<IdObjectSkeletonInterface> {\n return createManagedObject({ type, id, moData, state });\n },\n async readManagedObject(\n type: string,\n id: string,\n fields: string[]\n ): Promise<IdObjectSkeletonInterface> {\n return readManagedObject({ type, id, fields, state });\n },\n async readManagedObjects(\n type: string,\n fields: string[]\n ): Promise<IdObjectSkeletonInterface[]> {\n return readManagedObjects({ type, fields, state });\n },\n async updateManagedObject(\n type: string,\n id: string,\n moData: IdObjectSkeletonInterface\n ): Promise<IdObjectSkeletonInterface> {\n return updateManagedObject({ type, id, moData, state });\n },\n async updateManagedObjectProperties(\n type: string,\n id: string,\n operations: ManagedObjectPatchOperationInterface[]\n ): Promise<IdObjectSkeletonInterface> {\n return updateManagedObjectProperties({ type, id, operations, state });\n },\n async deleteManagedObject(\n type: string,\n id: string\n ): Promise<IdObjectSkeletonInterface> {\n return deleteManagedObject({ type, id, state });\n },\n async queryManagedObjects(\n type: string,\n filter: string = undefined,\n fields: string[] = []\n ): Promise<IdObjectSkeletonInterface[]> {\n return queryManagedObjects({ type, filter, fields, state });\n },\n async resolveUserName(type: string, id: string) {\n return resolveUserName({ type, id, state });\n },\n async resolveFullName(type: string, id: string) {\n return resolveFullName({ type, id, state });\n },\n };\n};\n\nexport async function createManagedObject({\n type,\n id,\n moData,\n state,\n}: {\n type: string;\n id?: string;\n moData: IdObjectSkeletonInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n if (id)\n return _putManagedObject({ type, id, moData, failIfExists: true, state });\n return _createManagedObject({ moType: type, moData, state });\n}\n\nexport async function readManagedObject({\n type,\n id,\n fields,\n state,\n}: {\n type: string;\n id: string;\n fields: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n return _getManagedObject({ type, id, fields, state });\n}\n\nexport async function readManagedObjects({\n type,\n fields,\n state,\n}: {\n type: string;\n fields: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface[]> {\n let managedObjects: IdObjectSkeletonInterface[] = [];\n let result = {\n result: [],\n resultCount: 0,\n pagedResultsCookie: null,\n totalPagedResultsPolicy: 'NONE',\n totalPagedResults: -1,\n remainingPagedResults: -1,\n };\n do {\n result = await queryAllManagedObjectsByType({\n type,\n fields,\n pageCookie: result.pagedResultsCookie,\n state,\n });\n managedObjects = managedObjects.concat(result.result);\n } while (result.pagedResultsCookie);\n return managedObjects;\n}\n\nexport async function updateManagedObject({\n type,\n id,\n moData,\n state,\n}: {\n type: string;\n id: string;\n moData: IdObjectSkeletonInterface;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n return _putManagedObject({ type, id, moData, state });\n}\n\nexport async function updateManagedObjectProperties({\n type,\n id,\n operations,\n state,\n}: {\n type: string;\n id: string;\n operations: ManagedObjectPatchOperationInterface[];\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n return _patchManagedObject({ type, id, operations, state });\n}\n\nexport async function deleteManagedObject({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<IdObjectSkeletonInterface> {\n return _deleteManagedObject({ type, id, state });\n}\n\nexport async function queryManagedObjects({\n type,\n filter = 'true',\n fields = ['*'],\n state,\n}: {\n type: string;\n filter?: string;\n fields?: string[];\n state: State;\n}): Promise<IdObjectSkeletonInterface[]> {\n const { result } = await _queryManagedObjects({\n type,\n filter,\n fields,\n state,\n });\n return result;\n}\n\nexport async function resolveUserName({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<string> {\n try {\n return (\n await _getManagedObject({\n type,\n id,\n fields: ['userName'],\n state,\n })\n ).userName as string;\n } catch (error) {\n // ignore\n }\n return id;\n}\n\nexport async function resolveFullName({\n type,\n id,\n state,\n}: {\n type: string;\n id: string;\n state: State;\n}): Promise<string> {\n try {\n const managedObject = await _getManagedObject({\n type,\n id,\n fields: ['givenName', 'sn'],\n state,\n });\n return `${managedObject.givenName} ${managedObject.sn}`;\n } catch (error) {\n // ignore\n }\n return id;\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import { State } from '../shared/State';
|
|
2
2
|
import { IdObjectSkeletonInterface, PagedResult } from './ApiTypes';
|
|
3
|
+
/**
|
|
4
|
+
* See {@link https://backstage.forgerock.com/docs/idm/7/rest-api-reference/sec-about-crest.html#about-crest-patch}.
|
|
5
|
+
*/
|
|
6
|
+
export interface ManagedObjectPatchOperationInterface {
|
|
7
|
+
operation: string;
|
|
8
|
+
field: string;
|
|
9
|
+
value: string | Array<string> | number;
|
|
10
|
+
}
|
|
3
11
|
/**
|
|
4
12
|
* Get managed object
|
|
5
13
|
* @param {string} type managed object type, e.g. alpha_user or user
|
|
@@ -41,6 +49,20 @@ export declare function putManagedObject({ type, id, moData, failIfExists, state
|
|
|
41
49
|
failIfExists?: boolean;
|
|
42
50
|
state: State;
|
|
43
51
|
}): Promise<IdObjectSkeletonInterface>;
|
|
52
|
+
/**
|
|
53
|
+
* Partially update a managed object, with a collection of operations.
|
|
54
|
+
* @param {string} type managed object type, e.g. alpha_user or user
|
|
55
|
+
* @param {string} id managed object id
|
|
56
|
+
* @param {ManagedObjectPatchOperationInterface[]} operations collection of patch operations to perform on the object
|
|
57
|
+
* @param state library state
|
|
58
|
+
* @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to the updated managed object
|
|
59
|
+
*/
|
|
60
|
+
export declare function patchManagedObject({ type, id, operations, state, }: {
|
|
61
|
+
type: string;
|
|
62
|
+
id: string;
|
|
63
|
+
operations: ManagedObjectPatchOperationInterface[];
|
|
64
|
+
state: State;
|
|
65
|
+
}): Promise<IdObjectSkeletonInterface>;
|
|
44
66
|
/**
|
|
45
67
|
* Query managed object
|
|
46
68
|
* @param {string} type managed object type, e.g. alpha_user or user
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedObjectApi.d.ts","sourceRoot":"","sources":["../../src/api/ManagedObjectApi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAQpE;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,IAAI,EACJ,EAAE,EACF,MAAc,EACd,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAYrC;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,MAAM,EACN,MAAM,EACN,KAAK,GACN,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,yBAAyB,CAAC;IAClC,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAWrC;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,IAAI,EACJ,EAAE,EACF,MAAM,EACN,YAAoB,EACpB,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,yBAAyB,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAerC;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,IAAI,EACJ,MAAM,EACN,MAAc,EACd,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAYlD;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAAC,EACjD,IAAI,EACJ,MAAW,EACX,UAAsB,EACtB,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAelD;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,IAAI,EACJ,EAAE,EACF,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAWrC"}
|
|
1
|
+
{"version":3,"file":"ManagedObjectApi.d.ts","sourceRoot":"","sources":["../../src/api/ManagedObjectApi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAQpE;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,IAAI,EACJ,EAAE,EACF,MAAc,EACd,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAYrC;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,MAAM,EACN,MAAM,EACN,KAAK,GACN,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,yBAAyB,CAAC;IAClC,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAWrC;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,IAAI,EACJ,EAAE,EACF,MAAM,EACN,YAAoB,EACpB,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,yBAAyB,CAAC;IAClC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAerC;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,EACvC,IAAI,EACJ,EAAE,EACF,UAAU,EACV,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,oCAAoC,EAAE,CAAC;IACnD,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAUrC;AAED;;;;;;;GAOG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,IAAI,EACJ,MAAM,EACN,MAAc,EACd,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAYlD;AAED;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAAC,EACjD,IAAI,EACJ,MAAW,EACX,UAAsB,EACtB,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAelD;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,EACxC,IAAI,EACJ,EAAE,EACF,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAWrC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IdObjectSkeletonInterface } from '../api/ApiTypes';
|
|
2
|
+
import { type ManagedObjectPatchOperationInterface } from '../api/ManagedObjectApi';
|
|
2
3
|
import { State } from '../shared/State';
|
|
3
4
|
export type ManagedObject = {
|
|
4
5
|
/**
|
|
@@ -31,6 +32,14 @@ export type ManagedObject = {
|
|
|
31
32
|
* @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an IdObjectSkeletonInterface
|
|
32
33
|
*/
|
|
33
34
|
updateManagedObject(type: string, id: string, moData: IdObjectSkeletonInterface): Promise<IdObjectSkeletonInterface>;
|
|
35
|
+
/**
|
|
36
|
+
* Partially update managed object through a collection of patch operations.
|
|
37
|
+
* @param {string} type managed object type, e.g. alpha_user or user
|
|
38
|
+
* @param {string} id managed object id
|
|
39
|
+
* @param {ManagedObjectPatchOperationInterface[]} operations collection of patch operations to perform on the object
|
|
40
|
+
* @returns {Promise<IdObjectSkeletonInterface>} a promise that resolves to an IdObjectSkeletonInterface
|
|
41
|
+
*/
|
|
42
|
+
updateManagedObjectProperties(type: string, id: string, operations: ManagedObjectPatchOperationInterface[]): Promise<IdObjectSkeletonInterface>;
|
|
34
43
|
/**
|
|
35
44
|
* Delete managed object
|
|
36
45
|
* @param {string} type managed object type, e.g. alpha_user or user
|
|
@@ -86,6 +95,12 @@ export declare function updateManagedObject({ type, id, moData, state, }: {
|
|
|
86
95
|
moData: IdObjectSkeletonInterface;
|
|
87
96
|
state: State;
|
|
88
97
|
}): Promise<IdObjectSkeletonInterface>;
|
|
98
|
+
export declare function updateManagedObjectProperties({ type, id, operations, state, }: {
|
|
99
|
+
type: string;
|
|
100
|
+
id: string;
|
|
101
|
+
operations: ManagedObjectPatchOperationInterface[];
|
|
102
|
+
state: State;
|
|
103
|
+
}): Promise<IdObjectSkeletonInterface>;
|
|
89
104
|
export declare function deleteManagedObject({ type, id, state, }: {
|
|
90
105
|
type: string;
|
|
91
106
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ManagedObjectOps.d.ts","sourceRoot":"","sources":["../../src/ops/ManagedObjectOps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ManagedObjectOps.d.ts","sourceRoot":"","sources":["../../src/ops/ManagedObjectOps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAIL,KAAK,oCAAoC,EAK1C,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,MAAM,MAAM,aAAa,GAAG;IAC1B;;;;;OAKG;IACH,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,yBAAyB,EACjC,EAAE,CAAC,EAAE,MAAM,GACV,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC;;;;;;OAMG;IACH,iBAAiB,CACf,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC;;;;;OAKG;IACH,kBAAkB,CAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EAAE,GACf,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC;IACxC;;;;;;OAMG;IACH,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC;;;;;;OAMG;IACH,6BAA6B,CAC3B,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,oCAAoC,EAAE,GACjD,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC;;;;;OAKG;IACH,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC;;;;;;OAMG;IACH,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC;IACxC;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5D,CAAC;gCAEqB,KAAK,KAAG,aAAa;AAA5C,wBAwDE;AAEF,wBAAsB,mBAAmB,CAAC,EACxC,IAAI,EACJ,EAAE,EACF,MAAM,EACN,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,yBAAyB,CAAC;IAClC,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAIrC;AAED,wBAAsB,iBAAiB,CAAC,EACtC,IAAI,EACJ,EAAE,EACF,MAAM,EACN,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAErC;AAED,wBAAsB,kBAAkB,CAAC,EACvC,IAAI,EACJ,MAAM,EACN,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAoBvC;AAED,wBAAsB,mBAAmB,CAAC,EACxC,IAAI,EACJ,EAAE,EACF,MAAM,EACN,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,yBAAyB,CAAC;IAClC,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAErC;AAED,wBAAsB,6BAA6B,CAAC,EAClD,IAAI,EACJ,EAAE,EACF,UAAU,EACV,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,oCAAoC,EAAE,CAAC;IACnD,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAErC;AAED,wBAAsB,mBAAmB,CAAC,EACxC,IAAI,EACJ,EAAE,EACF,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAErC;AAED,wBAAsB,mBAAmB,CAAC,EACxC,IAAI,EACJ,MAAe,EACf,MAAc,EACd,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAQvC;AAED,wBAAsB,eAAe,CAAC,EACpC,IAAI,EACJ,EAAE,EACF,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,MAAM,CAAC,CAclB;AAED,wBAAsB,eAAe,CAAC,EACpC,IAAI,EACJ,EAAE,EACF,KAAK,GACN,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;CACd,GAAG,OAAO,CAAC,MAAM,CAAC,CAalB"}
|