@equinor/fusion-framework-module-services 7.1.7 → 7.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/dist/esm/people/client.js +16 -9
  3. package/dist/esm/people/client.js.map +1 -1
  4. package/dist/esm/people/resolve/client.js +14 -0
  5. package/dist/esm/people/resolve/client.js.map +1 -0
  6. package/dist/esm/people/resolve/generate-endpoint.js +7 -0
  7. package/dist/esm/people/resolve/generate-endpoint.js.map +1 -0
  8. package/dist/esm/people/resolve/generate-parameters.js +8 -0
  9. package/dist/esm/people/resolve/generate-parameters.js.map +1 -0
  10. package/dist/esm/people/resolve/index.js +5 -0
  11. package/dist/esm/people/resolve/index.js.map +1 -0
  12. package/dist/esm/people/resolve/types.js +2 -0
  13. package/dist/esm/people/resolve/types.js.map +1 -0
  14. package/dist/esm/people/suggest/client.js +9 -0
  15. package/dist/esm/people/suggest/client.js.map +1 -0
  16. package/dist/esm/people/suggest/generate-endpoint.js +7 -0
  17. package/dist/esm/people/suggest/generate-endpoint.js.map +1 -0
  18. package/dist/esm/people/suggest/generate-parameters.js +8 -0
  19. package/dist/esm/people/suggest/generate-parameters.js.map +1 -0
  20. package/dist/esm/people/suggest/index.js +5 -0
  21. package/dist/esm/people/suggest/index.js.map +1 -0
  22. package/dist/esm/people/suggest/types.js +2 -0
  23. package/dist/esm/people/suggest/types.js.map +1 -0
  24. package/dist/esm/version.js +1 -1
  25. package/dist/tsconfig.tsbuildinfo +1 -1
  26. package/dist/types/people/api-models.d.ts +40 -0
  27. package/dist/types/people/client.d.ts +10 -0
  28. package/dist/types/people/resolve/client.d.ts +15 -0
  29. package/dist/types/people/resolve/generate-endpoint.d.ts +4 -0
  30. package/dist/types/people/resolve/generate-parameters.d.ts +5 -0
  31. package/dist/types/people/resolve/index.d.ts +4 -0
  32. package/dist/types/people/resolve/types.d.ts +4 -0
  33. package/dist/types/people/suggest/client.d.ts +10 -0
  34. package/dist/types/people/suggest/generate-endpoint.d.ts +4 -0
  35. package/dist/types/people/suggest/generate-parameters.d.ts +5 -0
  36. package/dist/types/people/suggest/index.d.ts +4 -0
  37. package/dist/types/people/suggest/types.d.ts +4 -0
  38. package/dist/types/version.d.ts +1 -1
  39. package/package.json +18 -4
  40. package/src/people/api-models.ts +57 -0
  41. package/src/people/client.ts +40 -10
  42. package/src/people/resolve/client.ts +29 -0
  43. package/src/people/resolve/generate-endpoint.ts +6 -0
  44. package/src/people/resolve/generate-parameters.ts +15 -0
  45. package/src/people/resolve/index.ts +6 -0
  46. package/src/people/resolve/types.ts +9 -0
  47. package/src/people/suggest/client.ts +24 -0
  48. package/src/people/suggest/generate-endpoint.ts +6 -0
  49. package/src/people/suggest/generate-parameters.ts +15 -0
  50. package/src/people/suggest/index.ts +6 -0
  51. package/src/people/suggest/types.ts +9 -0
  52. package/src/version.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,38 @@
1
1
  # Change Log
2
2
 
3
+ ## 7.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#4095](https://github.com/equinor/fusion-framework/pull/4095) [`f09b26f`](https://github.com/equinor/fusion-framework/commit/f09b26f100a94bf3c841be9830525aa2c734b180) Thanks [@eikeland](https://github.com/eikeland)! - Add `suggest` and `resolve` methods to People API client for improved people picker functionality.
8
+
9
+ The People service now supports:
10
+
11
+ - **suggest**: Autocomplete/typeahead for people picker with optional system account filtering
12
+ - **resolve**: Batch resolution of person identifiers to full person objects
13
+
14
+ ```typescript
15
+ // Suggest people based on search query
16
+ const suggestions = await peopleClient.suggest("json$", {
17
+ method: "POST",
18
+ body: JSON.stringify({
19
+ queryString: "john",
20
+ types: ["Person", "SystemAccount"],
21
+ }),
22
+ });
23
+
24
+ // Resolve multiple person identifiers
25
+ const resolved = await peopleClient.resolve("json$", {
26
+ method: "POST",
27
+ body: JSON.stringify({
28
+ identifiers: ["user1@example.com", "user2@example.com"],
29
+ }),
30
+ });
31
+ ```
32
+
33
+ The React people-resolver component has been updated to leverage these new endpoints with built-in query caching.
34
+ A cookbook example is also available demonstrating the integration using the new PeoplePicker and PeopleViewer components in the app-react-people cookbook.
35
+
3
36
  ## 7.1.7
4
37
 
5
38
  ### Patch Changes
@@ -2,6 +2,8 @@ import { ApiVersion } from './static';
2
2
  import { client as personDetailClient, } from './person-details';
3
3
  import { client as personQueryClient, } from './query';
4
4
  import { client as personPhotoClient, } from './person-photo';
5
+ import { client as personSuggestClient, } from './suggest';
6
+ import { client as personResolveClient, } from './resolve';
5
7
  export class PeopleApiClient {
6
8
  _client;
7
9
  get Version() {
@@ -31,15 +33,20 @@ export class PeopleApiClient {
31
33
  const fn = personPhotoClient(this._client, version, method);
32
34
  return fn(args, init);
33
35
  }
36
+ /**
37
+ * Suggest person service
38
+ */
39
+ suggest(method, init) {
40
+ const fn = personSuggestClient(this._client, method);
41
+ return fn(init);
42
+ }
43
+ /**
44
+ * Resolve person service
45
+ */
46
+ resolve(method, init) {
47
+ const fn = personResolveClient(this._client, method);
48
+ return fn(init);
49
+ }
34
50
  }
35
- // const oo = new PeopleApiClient(null).get('v4', 'fetch', { azureId: '123' });
36
- // const o2 = await new PeopleApiClient(null).get('v4', 'fetch', {
37
- // azureId: '123',
38
- // expand: ['roles'],
39
- // });
40
- // const o3 = await new PeopleApiClient(null).get('v4', 'fetch', {
41
- // azureId: '123',
42
- // expand: ['companies', 'roles'],
43
- // });
44
51
  export default PeopleApiClient;
45
52
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/people/client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EACL,MAAM,IAAI,kBAAkB,GAK7B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,MAAM,IAAI,iBAAiB,GAK5B,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,MAAM,IAAI,iBAAiB,GAK5B,MAAM,gBAAgB,CAAC;AAExB,MAAM,OAAO,eAAe;IAQJ;IAJtB,IAAI,OAAO;QACT,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,YAAsB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAE1C;;OAEG;IACI,GAAG,CAMR,OAAiB,EACjB,MAAe,EACf,IAAW,EACX,IAA0C;QAE1C,MAAM,EAAE,GAAG,kBAAkB,CAAoC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAChG,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,KAAK,CAMV,OAAiB,EACjB,MAAe,EACf,IAAW,EACX,IAA0C;QAE1C,MAAM,EAAE,GAAG,iBAAiB,CAA6B,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACxF,OAAO,EAAE,CAAU,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,KAAK,CAMV,OAAiB,EACjB,MAAe,EACf,IAAW,EACX,IAA0C;QAE1C,MAAM,EAAE,GAAG,iBAAiB,CAA6B,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACxF,OAAO,EAAE,CAAU,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;CACF;AAED,+EAA+E;AAC/E,kEAAkE;AAClE,sBAAsB;AACtB,yBAAyB;AACzB,MAAM;AACN,kEAAkE;AAClE,sBAAsB;AACtB,sCAAsC;AACtC,MAAM;AAEN,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/people/client.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,OAAO,EACL,MAAM,IAAI,kBAAkB,GAK7B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,MAAM,IAAI,iBAAiB,GAK5B,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,MAAM,IAAI,iBAAiB,GAK5B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,MAAM,IAAI,mBAAmB,GAG9B,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,MAAM,IAAI,mBAAmB,GAG9B,MAAM,WAAW,CAAC;AAEnB,MAAM,OAAO,eAAe;IAQJ;IAJtB,IAAI,OAAO;QACT,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,YAAsB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAE1C;;OAEG;IACI,GAAG,CAMR,OAAiB,EACjB,MAAe,EACf,IAAW,EACX,IAA0C;QAE1C,MAAM,EAAE,GAAG,kBAAkB,CAAoC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAChG,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,KAAK,CAMV,OAAiB,EACjB,MAAe,EACf,IAAW,EACX,IAA0C;QAE1C,MAAM,EAAE,GAAG,iBAAiB,CAA6B,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACxF,OAAO,EAAE,CAAU,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,KAAK,CAMV,OAAiB,EACjB,MAAe,EACf,IAAW,EACX,IAA0C;QAE1C,MAAM,EAAE,GAAG,iBAAiB,CAA6B,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACxF,OAAO,EAAE,CAAU,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,OAAO,CAIZ,MAAe,EACf,IAA0C;QAE1C,MAAM,EAAE,GAAG,mBAAmB,CAAmB,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvE,OAAO,EAAE,CAAU,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACI,OAAO,CAIZ,MAAe,EACf,IAA0C;QAE1C,MAAM,EAAE,GAAG,mBAAmB,CAAmB,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvE,OAAO,EAAE,CAAU,IAAI,CAAC,CAAC;IAC3B,CAAC;CACF;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { generateParameters } from './generate-parameters';
2
+ /**
3
+ * Factory for creating a typed client function for the people resolve endpoint.
4
+ *
5
+ * The returned function will use the provided HTTP client and method to call the
6
+ * resolve API for people identifiers, using parameters generated by
7
+ * {@link generateParameters}.
8
+ *
9
+ * @param client - HTTP client used to execute the request
10
+ * @param method - HTTP client method to invoke (for example, {@code 'json'})
11
+ */
12
+ export const client = (client, method = 'json') => (init) => client[method](...generateParameters(init));
13
+ export default client;
14
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/people/resolve/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAK3D;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,MAAM,GACjB,CAIE,MAAe,EACf,SAAkB,MAAiB,EACnC,EAAE,CACJ,CAAkB,IAAoC,EAAyB,EAAE,CAC/E,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,kBAAkB,CAAa,IAAI,CAAC,CAA0B,CAAC;AAErF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Method for generating endpoint for resolving people identifiers
3
+ */
4
+ export const generateEndpoint = () => {
5
+ return '/people-picker/resolve';
6
+ };
7
+ //# sourceMappingURL=generate-endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-endpoint.js","sourceRoot":"","sources":["../../../../src/people/resolve/generate-endpoint.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { generateEndpoint } from './generate-endpoint';
2
+ /** function for creating http client arguments */
3
+ export const generateParameters = (init) => {
4
+ const path = generateEndpoint();
5
+ return [path, init];
6
+ };
7
+ export default generateParameters;
8
+ //# sourceMappingURL=generate-parameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-parameters.js","sourceRoot":"","sources":["../../../../src/people/resolve/generate-parameters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAIvD,mDAAmD;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,IAA0C,EACJ,EAAE;IACxC,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { client, default } from './client';
2
+ export { generateEndpoint } from './generate-endpoint';
3
+ export { generateParameters } from './generate-parameters';
4
+ export * from './types';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/people/resolve/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/people/resolve/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { generateParameters } from './generate-parameters';
2
+ /**
3
+ * Client factory for calling the people suggest endpoint.
4
+ * @param client - HTTP client used to perform the request
5
+ * @param method - HTTP client method to call (for example, 'json')
6
+ */
7
+ export const client = (client, method = 'json') => (init) => client[method](...generateParameters(init));
8
+ export default client;
9
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/people/suggest/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAK3D;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GACjB,CAIE,MAAe,EACf,SAAkB,MAAiB,EACnC,EAAE,CACJ,CAAkB,IAAoC,EAAyB,EAAE,CAC/E,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,kBAAkB,CAAa,IAAI,CAAC,CAA0B,CAAC;AAErF,eAAe,MAAM,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Method for generating endpoint for getting people suggestions
3
+ */
4
+ export const generateEndpoint = () => {
5
+ return '/people-picker/suggestions';
6
+ };
7
+ //# sourceMappingURL=generate-endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-endpoint.js","sourceRoot":"","sources":["../../../../src/people/suggest/generate-endpoint.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,OAAO,4BAA4B,CAAC;AACtC,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { generateEndpoint } from './generate-endpoint';
2
+ /** function for creating http client arguments */
3
+ export const generateParameters = (init) => {
4
+ const path = generateEndpoint();
5
+ return [path, init];
6
+ };
7
+ export default generateParameters;
8
+ //# sourceMappingURL=generate-parameters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-parameters.js","sourceRoot":"","sources":["../../../../src/people/suggest/generate-parameters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAIvD,mDAAmD;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,IAA0C,EACJ,EAAE;IACxC,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACtB,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { client, default } from './client';
2
+ export { generateEndpoint } from './generate-endpoint';
3
+ export { generateParameters } from './generate-parameters';
4
+ export * from './types';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/people/suggest/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/people/suggest/types.ts"],"names":[],"mappings":""}
@@ -1,3 +1,3 @@
1
1
  // Generated by genversion.
2
- export const version = '7.1.7';
2
+ export const version = '7.2.0';
3
3
  //# sourceMappingURL=version.js.map