@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 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
- * Query managed object
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} filter CREST search filter
97
- * @param {string[]} id array of fields to include
98
- * @param {State} state library state
99
- * @returns {Promise<IdObjectSkeletonInterface[]>} a promise that resolves to an ObjectSkeletonInterface
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 queryManagedObjects(_x4) {
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* (_ref4) {
170
+ _queryManagedObjects = _asyncToGenerator(function* (_ref5) {
138
171
  var {
139
172
  type,
140
173
  filter,
141
174
  fields = ['*'],
142
175
  state
143
- } = _ref4;
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(_x5) {
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* (_ref5) {
199
+ _queryAllManagedObjectsByType = _asyncToGenerator(function* (_ref6) {
167
200
  var {
168
201
  type,
169
202
  fields = [],
170
203
  pageCookie = undefined,
171
204
  state
172
- } = _ref5;
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(_x6) {
218
+ function deleteManagedObject(_x7) {
186
219
  return _deleteManagedObject.apply(this, arguments);
187
220
  }
188
221
  function _deleteManagedObject() {
189
- _deleteManagedObject = _asyncToGenerator(function* (_ref6) {
222
+ _deleteManagedObject = _asyncToGenerator(function* (_ref7) {
190
223
  var {
191
224
  type,
192
225
  id,
193
226
  state
194
- } = _ref6;
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":";;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAwB,IAAAC,eAAA,GAAAD,OAAA;AAAA,IAAAE,QAAA,GAAAF,OAAA;AAAA,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,mBAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAAC,GAAA,cAAAC,IAAA,GAAAP,GAAA,CAAAK,GAAA,EAAAC,GAAA,OAAAE,KAAA,GAAAD,IAAA,CAAAC,KAAA,WAAAC,KAAA,IAAAP,MAAA,CAAAO,KAAA,iBAAAF,IAAA,CAAAG,IAAA,IAAAT,OAAA,CAAAO,KAAA,YAAAG,OAAA,CAAAV,OAAA,CAAAO,KAAA,EAAAI,IAAA,CAAAT,KAAA,EAAAC,MAAA;AAAA,SAAAS,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAC,SAAA,aAAAN,OAAA,WAAAV,OAAA,EAAAC,MAAA,QAAAF,GAAA,GAAAc,EAAA,CAAAI,KAAA,CAAAH,IAAA,EAAAC,IAAA,YAAAb,MAAAK,KAAA,IAAAT,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAAI,KAAA,cAAAJ,OAAAe,GAAA,IAAApB,kBAAA,CAAAC,GAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAe,GAAA,KAAAhB,KAAA,CAAAiB,SAAA;AAOxB,IAAMC,8BAA8B,GAAG,sCAAsC;AAC7E,IAAMC,4BAA4B,GAAG,0BAA0B;AAC/D,IAAMC,gCAAgC,4DAA4D;AAClG,IAAMC,4BAA4B,0DAA0D;;AAE5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA,SAQsBC,gBAAgBA,CAAAC,EAAA;EAAA,OAAAC,iBAAA,CAAAT,KAAA,OAAAD,SAAA;AAAA;AAwBtC;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAAAU,kBAAA;EAAAA,iBAAA,GAAAd,iBAAA,CAxBO,WAAAe,IAAA,EAUgC;IAAA,IAVA;MACrCC,IAAI;MACJC,EAAE;MACFC,MAAM,GAAG,CAAC,GAAG,CAAC;MACdC;IAMF,CAAC,GAAAJ,IAAA;IACC,IAAMK,WAAW,cAAAC,MAAA,CAAcH,MAAM,CAACI,IAAI,CAAC,GAAG,CAAC,CAAE;IACjD,IAAMC,SAAS,GAAGC,aAAI,CAACC,MAAM,IAAAJ,MAAA,CACxBZ,4BAA4B,OAAAY,MAAA,CAAID,WAAW,GAC9C,IAAAM,8BAAc,EAACP,KAAK,CAACQ,OAAO,CAAC,CAAC,CAAC,EAC/BX,IAAI,EACJC,EACF,CAAC;IACD,IAAM;MAAEW;IAAK,CAAC,SAAS,IAAAC,uBAAc,EAAC;MAAEC,eAAe,EAAE,CAAC,CAAC;MAAEX;IAAM,CAAC,CAAC,CAACY,GAAG,CACvER,SACF,CAAC;IACD,OAAOK,IAAI;EACb,CAAC;EAAA,OAAAd,iBAAA,CAAAT,KAAA,OAAAD,SAAA;AAAA;AAAA,SASqB4B,mBAAmBA,CAAAC,GAAA;EAAA,OAAAC,oBAAA,CAAA7B,KAAA,OAAAD,SAAA;AAAA;AAqBzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA,SAAA8B,qBAAA;EAAAA,oBAAA,GAAAlC,iBAAA,CArBO,WAAAmC,KAAA,EAQgC;IAAA,IARG;MACxCC,MAAM;MACNC,MAAM;MACNlB;IAKF,CAAC,GAAAgB,KAAA;IACC,IAAMZ,SAAS,GAAGC,aAAI,CAACC,MAAM,CAC3BjB,8BAA8B,EAC9B,IAAAkB,8BAAc,EAACP,KAAK,CAACQ,OAAO,CAAC,CAAC,CAAC,EAC/BS,MACF,CAAC;IACD,IAAM;MAAER;IAAK,CAAC,SAAS,IAAAC,uBAAc,EAAC;MAAEC,eAAe,EAAE,CAAC,CAAC;MAAEX;IAAM,CAAC,CAAC,CAACmB,IAAI,CACxEf,SAAS,EACTc,MACF,CAAC;IACD,OAAOT,IAAI;EACb,CAAC;EAAA,OAAAM,oBAAA,CAAA7B,KAAA,OAAAD,SAAA;AAAA;AAAA,SAUqBmC,gBAAgBA,CAAAC,GAAA;EAAA,OAAAC,iBAAA,CAAApC,KAAA,OAAAD,SAAA;AAAA;AA6BtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA,SAAAqC,kBAAA;EAAAA,iBAAA,GAAAzC,iBAAA,CA7BO,WAAA0C,KAAA,EAYgC;IAAA,IAZA;MACrC1B,IAAI;MACJC,EAAE;MACFoB,MAAM;MACNM,YAAY,GAAG,KAAK;MACpBxB;IAOF,CAAC,GAAAuB,KAAA;IACC,IAAMnB,SAAS,GAAGC,aAAI,CAACC,MAAM,CAC3BhB,4BAA4B,EAC5B,IAAAiB,8BAAc,EAACP,KAAK,CAACQ,OAAO,CAAC,CAAC,CAAC,EAC/BX,IAAI,EACJC,EACF,CAAC;IACD,IAAMa,eAAe,GAAGa,YAAY,GAChC;MAAEC,OAAO,EAAE;QAAE,eAAe,EAAE;MAAI;IAAE,CAAC,GACrC,CAAC,CAAC;IACN,IAAM;MAAEhB;IAAK,CAAC,SAAS,IAAAC,uBAAc,EAAC;MAAEC,eAAe;MAAEX;IAAM,CAAC,CAAC,CAAC0B,GAAG,CACnEtB,SAAS,EACTc,MACF,CAAC;IACD,OAAOT,IAAI;EACb,CAAC;EAAA,OAAAa,iBAAA,CAAApC,KAAA,OAAAD,SAAA;AAAA;AAAA,SAUqB0C,mBAAmBA,CAAAC,GAAA;EAAA,OAAAC,oBAAA,CAAA3C,KAAA,OAAAD,SAAA;AAAA;AAwBzC;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAAA4C,qBAAA;EAAAA,oBAAA,GAAAhD,iBAAA,CAxBO,WAAAiD,KAAA,EAU6C;IAAA,IAVV;MACxCjC,IAAI;MACJkC,MAAM;MACNhC,MAAM,GAAG,CAAC,GAAG,CAAC;MACdC;IAMF,CAAC,GAAA8B,KAAA;IACC,IAAM7B,WAAW,cAAAC,MAAA,CAAcH,MAAM,CAACI,IAAI,CAAC,GAAG,CAAC,CAAE;IACjD,IAAMC,SAAS,GAAGC,aAAI,CAACC,MAAM,IAAAJ,MAAA,CACxBV,4BAA4B,OAAAU,MAAA,CAAID,WAAW,GAC9C,IAAAM,8BAAc,EAACP,KAAK,CAACQ,OAAO,CAAC,CAAC,CAAC,EAC/BX,IAAI,EACJkC,MACF,CAAC;IACD,IAAM;MAAEtB;IAAK,CAAC,SAAS,IAAAC,uBAAc,EAAC;MAAEC,eAAe,EAAE,CAAC,CAAC;MAAEX;IAAM,CAAC,CAAC,CAACY,GAAG,CACvER,SACF,CAAC;IACD,OAAOK,IAAI;EACb,CAAC;EAAA,OAAAoB,oBAAA,CAAA3C,KAAA,OAAAD,SAAA;AAAA;AAAA,SASqB+C,4BAA4BA,CAAAC,GAAA;EAAA,OAAAC,6BAAA,CAAAhD,KAAA,OAAAD,SAAA;AAAA;AA2BlD;AACA;AACA;AACA;AACA;AACA;AALA,SAAAiD,8BAAA;EAAAA,6BAAA,GAAArD,iBAAA,CA3BO,WAAAsD,KAAA,EAU6C;IAAA,IAVD;MACjDtC,IAAI;MACJE,MAAM,GAAG,EAAE;MACXqC,UAAU,GAAGhD,SAAS;MACtBY;IAMF,CAAC,GAAAmC,KAAA;IACC,IAAMlC,WAAW,GACfF,MAAM,CAACsC,MAAM,GAAG,CAAC,eAAAnC,MAAA,CAAeH,MAAM,CAACI,IAAI,CAAC,GAAG,CAAC,IAAK,cAAc;IACrE,IAAMmC,WAAW,GAAGF,UAAU,MAAAlC,MAAA,CACvBX,gCAAgC,EAAAW,MAAA,CAAGD,WAAW,2BAAAC,MAAA,CAAwBqC,kBAAkB,CACzFH,UACF,CAAC,OAAAlC,MAAA,CACEX,gCAAgC,EAAAW,MAAA,CAAGD,WAAW,CAAE;IACvD,IAAMG,SAAS,GAAGC,aAAI,CAACC,MAAM,CAC3BgC,WAAW,EACX,IAAA/B,8BAAc,EAACP,KAAK,CAACQ,OAAO,CAAC,CAAC,CAAC,EAC/BX,IACF,CAAC;IACD,IAAM;MAAEY;IAAK,CAAC,SAAS,IAAAC,uBAAc,EAAC;MAAEV;IAAM,CAAC,CAAC,CAACY,GAAG,CAACR,SAAS,CAAC;IAC/D,OAAOK,IAAI;EACb,CAAC;EAAA,OAAAyB,6BAAA,CAAAhD,KAAA,OAAAD,SAAA;AAAA;AAAA,SAQqBuD,mBAAmBA,CAAAC,GAAA;EAAA,OAAAC,oBAAA,CAAAxD,KAAA,OAAAD,SAAA;AAAA;AAAA,SAAAyD,qBAAA;EAAAA,oBAAA,GAAA7D,iBAAA,CAAlC,WAAA8D,KAAA,EAQgC;IAAA,IARG;MACxC9C,IAAI;MACJC,EAAE;MACFE;IAKF,CAAC,GAAA2C,KAAA;IACC,IAAMvC,SAAS,GAAGC,aAAI,CAACC,MAAM,CAC3BhB,4BAA4B,EAC5B,IAAAiB,8BAAc,EAACP,KAAK,CAACQ,OAAO,CAAC,CAAC,CAAC,EAC/BX,IAAI,EACJC,EACF,CAAC;IACD,IAAM;MAAEW;IAAK,CAAC,SAAS,IAAAC,uBAAc,EAAC;MAAEC,eAAe,EAAE,CAAC,CAAC;MAAEX;IAAM,CAAC,CAAC,CAAC4C,MAAM,CAC1ExC,SACF,CAAC;IACD,OAAOK,IAAI;EACb,CAAC;EAAA,OAAAiC,oBAAA,CAAAxD,KAAA,OAAAD,SAAA;AAAA"}
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 deleteManagedObject(_x5) {
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* (_ref5) {
237
+ _deleteManagedObject2 = _asyncToGenerator(function* (_ref6) {
207
238
  var {
208
239
  type,
209
240
  id,
210
241
  state
211
- } = _ref5;
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(_x6) {
251
+ function queryManagedObjects(_x7) {
221
252
  return _queryManagedObjects2.apply(this, arguments);
222
253
  }
223
254
  function _queryManagedObjects2() {
224
- _queryManagedObjects2 = _asyncToGenerator(function* (_ref6) {
255
+ _queryManagedObjects2 = _asyncToGenerator(function* (_ref7) {
225
256
  var {
226
257
  type,
227
258
  filter = 'true',
228
259
  fields = ['*'],
229
260
  state
230
- } = _ref6;
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(_x7) {
274
+ function resolveUserName(_x8) {
244
275
  return _resolveUserName.apply(this, arguments);
245
276
  }
246
277
  function _resolveUserName() {
247
- _resolveUserName = _asyncToGenerator(function* (_ref7) {
278
+ _resolveUserName = _asyncToGenerator(function* (_ref8) {
248
279
  var {
249
280
  type,
250
281
  id,
251
282
  state
252
- } = _ref7;
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(_x8) {
298
+ function resolveFullName(_x9) {
268
299
  return _resolveFullName.apply(this, arguments);
269
300
  }
270
301
  function _resolveFullName() {
271
- _resolveFullName = _asyncToGenerator(function* (_ref8) {
302
+ _resolveFullName = _asyncToGenerator(function* (_ref9) {
272
303
  var {
273
304
  type,
274
305
  id,
275
306
  state
276
- } = _ref8;
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":"AAAA,OAAOA,IAAI,MAAM,MAAM;AAAC,SAGfC,cAAc;AAAA,SAEdC,cAAc;AAEvB,MAAMC,8BAA8B,GAAG,sCAAsC;AAC7E,MAAMC,4BAA4B,GAAG,0BAA0B;AAC/D,MAAMC,gCAAgC,GAAI,yDAAwD;AAClG,MAAMC,4BAA4B,GAAI,uDAAsD;;AAE5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,gBAAgBA,CAAC;EACrCC,IAAI;EACJC,EAAE;EACFC,MAAM,GAAG,CAAC,GAAG,CAAC;EACdC;AAMF,CAAC,EAAsC;EACrC,MAAMC,WAAW,GAAI,WAAUF,MAAM,CAACG,IAAI,CAAC,GAAG,CAAE,EAAC;EACjD,MAAMC,SAAS,GAAGd,IAAI,CAACe,MAAM,CAC1B,GAAEX,4BAA6B,IAAGQ,WAAY,EAAC,EAChDX,cAAc,CAACU,KAAK,CAACK,OAAO,CAAC,CAAC,CAAC,EAC/BR,IAAI,EACJC,EACF,CAAC;EACD,MAAM;IAAEQ;EAAK,CAAC,GAAG,MAAMf,cAAc,CAAC;IAAEgB,eAAe,EAAE,CAAC,CAAC;IAAEP;EAAM,CAAC,CAAC,CAACQ,GAAG,CACvEL,SACF,CAAC;EACD,OAAOG,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeG,mBAAmBA,CAAC;EACxCC,MAAM;EACNC,MAAM;EACNX;AAKF,CAAC,EAAsC;EACrC,MAAMG,SAAS,GAAGd,IAAI,CAACe,MAAM,CAC3BZ,8BAA8B,EAC9BF,cAAc,CAACU,KAAK,CAACK,OAAO,CAAC,CAAC,CAAC,EAC/BK,MACF,CAAC;EACD,MAAM;IAAEJ;EAAK,CAAC,GAAG,MAAMf,cAAc,CAAC;IAAEgB,eAAe,EAAE,CAAC,CAAC;IAAEP;EAAM,CAAC,CAAC,CAACY,IAAI,CACxET,SAAS,EACTQ,MACF,CAAC;EACD,OAAOL,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeO,gBAAgBA,CAAC;EACrChB,IAAI;EACJC,EAAE;EACFa,MAAM;EACNG,YAAY,GAAG,KAAK;EACpBd;AAOF,CAAC,EAAsC;EACrC,MAAMG,SAAS,GAAGd,IAAI,CAACe,MAAM,CAC3BX,4BAA4B,EAC5BH,cAAc,CAACU,KAAK,CAACK,OAAO,CAAC,CAAC,CAAC,EAC/BR,IAAI,EACJC,EACF,CAAC;EACD,MAAMS,eAAe,GAAGO,YAAY,GAChC;IAAEC,OAAO,EAAE;MAAE,eAAe,EAAE;IAAI;EAAE,CAAC,GACrC,CAAC,CAAC;EACN,MAAM;IAAET;EAAK,CAAC,GAAG,MAAMf,cAAc,CAAC;IAAEgB,eAAe;IAAEP;EAAM,CAAC,CAAC,CAACgB,GAAG,CACnEb,SAAS,EACTQ,MACF,CAAC;EACD,OAAOL,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeW,mBAAmBA,CAAC;EACxCpB,IAAI;EACJqB,MAAM;EACNnB,MAAM,GAAG,CAAC,GAAG,CAAC;EACdC;AAMF,CAAC,EAAmD;EAClD,MAAMC,WAAW,GAAI,WAAUF,MAAM,CAACG,IAAI,CAAC,GAAG,CAAE,EAAC;EACjD,MAAMC,SAAS,GAAGd,IAAI,CAACe,MAAM,CAC1B,GAAET,4BAA6B,IAAGM,WAAY,EAAC,EAChDX,cAAc,CAACU,KAAK,CAACK,OAAO,CAAC,CAAC,CAAC,EAC/BR,IAAI,EACJqB,MACF,CAAC;EACD,MAAM;IAAEZ;EAAK,CAAC,GAAG,MAAMf,cAAc,CAAC;IAAEgB,eAAe,EAAE,CAAC,CAAC;IAAEP;EAAM,CAAC,CAAC,CAACQ,GAAG,CACvEL,SACF,CAAC;EACD,OAAOG,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAea,4BAA4BA,CAAC;EACjDtB,IAAI;EACJE,MAAM,GAAG,EAAE;EACXqB,UAAU,GAAGC,SAAS;EACtBrB;AAMF,CAAC,EAAmD;EAClD,MAAMC,WAAW,GACfF,MAAM,CAACuB,MAAM,GAAG,CAAC,GAAI,YAAWvB,MAAM,CAACG,IAAI,CAAC,GAAG,CAAE,EAAC,GAAG,cAAc;EACrE,MAAMqB,WAAW,GAAGH,UAAU,GACzB,GAAE1B,gCAAiC,GAAEO,WAAY,wBAAuBuB,kBAAkB,CACzFJ,UACF,CAAE,EAAC,GACF,GAAE1B,gCAAiC,GAAEO,WAAY,EAAC;EACvD,MAAME,SAAS,GAAGd,IAAI,CAACe,MAAM,CAC3BmB,WAAW,EACXjC,cAAc,CAACU,KAAK,CAACK,OAAO,CAAC,CAAC,CAAC,EAC/BR,IACF,CAAC;EACD,MAAM;IAAES;EAAK,CAAC,GAAG,MAAMf,cAAc,CAAC;IAAES;EAAM,CAAC,CAAC,CAACQ,GAAG,CAACL,SAAS,CAAC;EAC/D,OAAOG,IAAI;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAemB,mBAAmBA,CAAC;EACxC5B,IAAI;EACJC,EAAE;EACFE;AAKF,CAAC,EAAsC;EACrC,MAAMG,SAAS,GAAGd,IAAI,CAACe,MAAM,CAC3BX,4BAA4B,EAC5BH,cAAc,CAACU,KAAK,CAACK,OAAO,CAAC,CAAC,CAAC,EAC/BR,IAAI,EACJC,EACF,CAAC;EACD,MAAM;IAAEQ;EAAK,CAAC,GAAG,MAAMf,cAAc,CAAC;IAAEgB,eAAe,EAAE,CAAC,CAAC;IAAEP;EAAM,CAAC,CAAC,CAAC0B,MAAM,CAC1EvB,SACF,CAAC;EACD,OAAOG,IAAI;AACb"}
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@rockcarver/frodo-lib",
3
- "version": "2.0.0-39",
3
+ "version": "2.0.0-40",
4
4
  "type": "commonjs",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -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":"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"}
1
+ {"version":3,"file":"ManagedObjectOps.d.ts","sourceRoot":"","sources":["../../src/ops/ManagedObjectOps.ts"],"names":[],"mappings":"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"}