@coveo/platform-client 35.0.1 → 35.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -226,6 +226,41 @@ const notifyOnError = (message) => (currentOptions) => ({
226
226
  platform.withFeatures(notifyOnSuccess('It worked!'), notifyOnError('It failed!')).field.delete('unwanted-field-id');
227
227
  ```
228
228
 
229
+ ### Extending the client
230
+
231
+ In cases where you want to expand the standard capabilities of the platform client with internal or experimental resources, you can do so within the scope of your own project by extending the `PlatformClient` class.
232
+
233
+ ```ts
234
+ import {API, PlatformClient, PlatformClientOptions, Resource} from '@coveo/platform-client';
235
+
236
+ class Something extends Resource {
237
+ static baseUrl = `/rest/organizations/${API.orgPlaceholder}/something`;
238
+
239
+ list() {
240
+ this.api.get(Something.baseUrl);
241
+ }
242
+ }
243
+
244
+ const experimentalResources: Array<{key: string; resource: typeof Resource}> = [
245
+ {key: 'something', resource: Something},
246
+ ];
247
+
248
+ class ExperimentalPlatformClient extends PlatformClient {
249
+ something: Something;
250
+
251
+ constructor(options: PlatformClientOptions) {
252
+ super(options);
253
+
254
+ experimentalResources.forEach(({key, resource}) => {
255
+ this[key] = new resource(this.API, this.ServerlessAPI);
256
+ });
257
+ }
258
+ }
259
+
260
+ // usage
261
+ ExperimentalPlatformClient.something.list();
262
+ ```
263
+
229
264
  ## Contributing
230
265
 
231
266
  ### Guidelines
package/dist/Entry.js CHANGED
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.API = void 0;
3
4
  var tslib_1 = require("tslib");
4
5
  var PlatformClient_1 = tslib_1.__importDefault(require("./PlatformClient"));
5
6
  tslib_1.__exportStar(require("./PlatformClient"), exports);
6
7
  tslib_1.__exportStar(require("./ConfigurationInterfaces"), exports);
7
- tslib_1.__exportStar(require("./APICore"), exports);
8
8
  tslib_1.__exportStar(require("./handlers"), exports);
9
9
  tslib_1.__exportStar(require("./resources"), exports);
10
10
  tslib_1.__exportStar(require("./utils"), exports);
11
11
  tslib_1.__exportStar(require("./Endpoints"), exports);
12
+ var APICore_1 = require("./APICore");
13
+ Object.defineProperty(exports, "API", { enumerable: true, get: function () { return tslib_1.__importDefault(APICore_1).default; } });
12
14
  exports.default = PlatformClient_1.default;
13
15
  //# sourceMappingURL=Entry.js.map
package/dist/Entry.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Entry.js","sourceRoot":"","sources":["../src/Entry.ts"],"names":[],"mappings":";;;AAAA,4EAA8C;AAE9C,2DAAiC;AACjC,oEAA0C;AAC1C,oDAA0B;AAC1B,qDAA2B;AAC3B,sDAA4B;AAC5B,kDAAwB;AACxB,sDAA4B;AAE5B,kBAAe,wBAAc,CAAC"}
1
+ {"version":3,"file":"Entry.js","sourceRoot":"","sources":["../src/Entry.ts"],"names":[],"mappings":";;;;AAAA,4EAA8C;AAE9C,2DAAiC;AACjC,oEAA0C;AAC1C,qDAA2B;AAC3B,sDAA4B;AAC5B,kDAAwB;AACxB,sDAA4B;AAE5B,qCAAyC;AAAjC,uHAAA,OAAO,OAAO;AACtB,kBAAe,wBAAc,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import PlatformClient from './PlatformClient';
2
2
  export * from './PlatformClient';
3
3
  export * from './ConfigurationInterfaces';
4
- export * from './APICore';
5
4
  export * from './handlers';
6
5
  export * from './resources';
7
6
  export * from './utils';
8
7
  export * from './Endpoints';
8
+ export { default as API } from './APICore';
9
9
  export default PlatformClient;
@@ -1,11 +1,11 @@
1
1
  import { PageModel } from '../BaseInterfaces';
2
2
  import Resource from '../Resource';
3
- import { ActivityModel, ListActivitiesParams, ActivityFacetModel } from './ActivitiesInterfaces';
3
+ import { ActivityModel, ListActivitiesParams, ListActivitiesFacetsParams, ActivityFacetModel, ActivityListingFilters } from './ActivitiesInterfaces';
4
4
  export default class Activity extends Resource {
5
5
  static getBaseUrl: () => string;
6
6
  get(activityId: string): Promise<ActivityModel>;
7
7
  getResourceTypes(): Promise<string[]>;
8
- list(params?: ListActivitiesParams): Promise<PageModel<ActivityModel, "items">>;
9
- listFacets(params?: ListActivitiesParams): Promise<ActivityFacetModel>;
10
- cancelActivity(activityId: string, options: ActivityModel): Promise<Record<string, unknown>>;
8
+ list(params?: ListActivitiesParams, activityFacet?: ActivityListingFilters): Promise<PageModel<ActivityModel, "items">>;
9
+ listFacets(params?: ListActivitiesFacetsParams, activityFacet?: ActivityListingFilters): Promise<ActivityFacetModel>;
10
+ abortActivity(activityId: string, abortActivityModel: ActivityModel): Promise<Record<string, unknown>>;
11
11
  }
@@ -26,11 +26,25 @@ export interface ActivityModel {
26
26
  isInitialBuild?: boolean;
27
27
  showOrgCol?: boolean;
28
28
  }
29
+ export interface ListActivitiesFacetsParams {
30
+ from?: string;
31
+ to?: string;
32
+ }
29
33
  export interface ListActivitiesParams extends Paginated {
30
- facetsOnly?: boolean;
34
+ from?: string;
35
+ to?: string;
36
+ page?: number;
37
+ perPage?: number;
31
38
  }
32
39
  export interface ActivityListingFilters {
33
40
  facet?: FacetOrSortStatus;
41
+ operations?: string[];
42
+ organizationIds?: string[];
43
+ resourceIds?: string[];
44
+ resourceTypes?: string[];
45
+ resultTypes?: string[];
46
+ sections?: string[];
47
+ states?: string[];
34
48
  }
35
49
  export interface TriggeredByAttributes {
36
50
  type: string;
@@ -0,0 +1,2 @@
1
+ export * from './Activities';
2
+ export * from './ActivitiesInterfaces';
@@ -1,3 +1,5 @@
1
+ export { default as Resource } from './Resource';
2
+ export * from './Activities';
1
3
  export * from './ApiKeys';
2
4
  export * from './AWS';
3
5
  export * from './BaseInterfaces';
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var tslib_1 = require("tslib");
4
4
  var APICore_1 = tslib_1.__importDefault(require("../../APICore"));
5
- var Indexes_1 = tslib_1.__importDefault(require("../Indexes/Indexes"));
6
5
  var Resource_1 = tslib_1.__importDefault(require("../Resource"));
7
6
  var Activity = /** @class */ (function (_super) {
8
7
  tslib_1.__extends(Activity, _super);
@@ -15,14 +14,14 @@ var Activity = /** @class */ (function (_super) {
15
14
  Activity.prototype.getResourceTypes = function () {
16
15
  return this.api.get("".concat(Activity.getBaseUrl(), "/resourcetypes"));
17
16
  };
18
- Activity.prototype.list = function (params) {
19
- return this.api.post(this.buildPath("".concat(Indexes_1.default.baseUrl, "/public"), params));
17
+ Activity.prototype.list = function (params, activityFacet) {
18
+ return this.api.post(this.buildPath("".concat(Activity.getBaseUrl(), "/public"), params), activityFacet);
20
19
  };
21
- Activity.prototype.listFacets = function (params) {
22
- return this.api.post(this.buildPath("".concat(Indexes_1.default.baseUrl, "/facets/public"), params));
20
+ Activity.prototype.listFacets = function (params, activityFacet) {
21
+ return this.api.post(this.buildPath("".concat(Activity.getBaseUrl(), "/facets/public"), params), activityFacet);
23
22
  };
24
- Activity.prototype.cancelActivity = function (activityId, options) {
25
- return this.api.put("".concat(Activity.getBaseUrl(), "/").concat(activityId), options);
23
+ Activity.prototype.abortActivity = function (activityId, abortActivityModel) {
24
+ return this.api.post("".concat(Activity.getBaseUrl(), "/").concat(activityId, "/abort"), abortActivityModel);
26
25
  };
27
26
  Activity.getBaseUrl = function () { return "/rest/organizations/".concat(APICore_1.default.orgPlaceholder, "/activities"); };
28
27
  return Activity;
@@ -1 +1 @@
1
- {"version":3,"file":"Activities.js","sourceRoot":"","sources":["../../../src/resources/Activities/Activities.ts"],"names":[],"mappings":";;;AAAA,kEAAgC;AAEhC,uEAAyC;AACzC,iEAAmC;AAGnC;IAAsC,oCAAQ;IAA9C;;IAqBA,CAAC;IAlBG,sBAAG,GAAH,UAAI,UAAkB;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAgB,UAAG,QAAQ,CAAC,UAAU,EAAE,cAAI,UAAU,CAAE,CAAC,CAAC;IACjF,CAAC;IACD,mCAAgB,GAAhB;QACI,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAW,UAAG,QAAQ,CAAC,UAAU,EAAE,mBAAgB,CAAC,CAAC;IAC5E,CAAC;IAED,uBAAI,GAAJ,UAAK,MAA6B;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAA2B,IAAI,CAAC,SAAS,CAAC,UAAG,iBAAO,CAAC,OAAO,YAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IACxG,CAAC;IAED,6BAAU,GAAV,UAAW,MAA6B;QACpC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAqB,IAAI,CAAC,SAAS,CAAC,UAAG,iBAAO,CAAC,OAAO,mBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;IACzG,CAAC;IAED,iCAAc,GAAd,UAAe,UAAkB,EAAE,OAAsB;QACrD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAG,QAAQ,CAAC,UAAU,EAAE,cAAI,UAAU,CAAE,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC;IAnBM,mBAAU,GAAG,cAAM,OAAA,8BAAuB,iBAAG,CAAC,cAAc,gBAAa,EAAtD,CAAsD,CAAC;IAoBrF,eAAC;CAAA,AArBD,CAAsC,kBAAQ,GAqB7C;kBArBoB,QAAQ"}
1
+ {"version":3,"file":"Activities.js","sourceRoot":"","sources":["../../../src/resources/Activities/Activities.ts"],"names":[],"mappings":";;;AAAA,kEAAgC;AAEhC,iEAAmC;AASnC;IAAsC,oCAAQ;IAA9C;;IA2BA,CAAC;IAxBG,sBAAG,GAAH,UAAI,UAAkB;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAgB,UAAG,QAAQ,CAAC,UAAU,EAAE,cAAI,UAAU,CAAE,CAAC,CAAC;IACjF,CAAC;IACD,mCAAgB,GAAhB;QACI,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAW,UAAG,QAAQ,CAAC,UAAU,EAAE,mBAAgB,CAAC,CAAC;IAC5E,CAAC;IAED,uBAAI,GAAJ,UAAK,MAA6B,EAAE,aAAsC;QACtE,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAChB,IAAI,CAAC,SAAS,CAAC,UAAG,QAAQ,CAAC,UAAU,EAAE,YAAS,EAAE,MAAM,CAAC,EACzD,aAAa,CAChB,CAAC;IACN,CAAC;IAED,6BAAU,GAAV,UAAW,MAAmC,EAAE,aAAsC;QAClF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAChB,IAAI,CAAC,SAAS,CAAC,UAAG,QAAQ,CAAC,UAAU,EAAE,mBAAgB,EAAE,MAAM,CAAC,EAChE,aAAa,CAChB,CAAC;IACN,CAAC;IAED,gCAAa,GAAb,UAAc,UAAkB,EAAE,kBAAiC;QAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAG,QAAQ,CAAC,UAAU,EAAE,cAAI,UAAU,WAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC7F,CAAC;IAzBM,mBAAU,GAAG,cAAM,OAAA,8BAAuB,iBAAG,CAAC,cAAc,gBAAa,EAAtD,CAAsD,CAAC;IA0BrF,eAAC;CAAA,AA3BD,CAAsC,kBAAQ,GA2B7C;kBA3BoB,QAAQ"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./Activities"), exports);
5
+ tslib_1.__exportStar(require("./ActivitiesInterfaces"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/resources/Activities/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,iEAAuC"}
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Resource = void 0;
3
4
  var tslib_1 = require("tslib");
5
+ var Resource_1 = require("./Resource");
6
+ Object.defineProperty(exports, "Resource", { enumerable: true, get: function () { return tslib_1.__importDefault(Resource_1).default; } });
7
+ tslib_1.__exportStar(require("./Activities"), exports);
4
8
  tslib_1.__exportStar(require("./ApiKeys"), exports);
5
9
  tslib_1.__exportStar(require("./AWS"), exports);
6
10
  tslib_1.__exportStar(require("./BaseInterfaces"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,gDAAsB;AACtB,2DAAiC;AACjC,8DAAoC;AACpC,qDAA2B;AAC3B,qDAA2B;AAC3B,yDAA+B;AAC/B,2DAAiC;AACjC,kDAAwB;AACxB,uDAA6B;AAC7B,mDAAyB;AACzB,mDAAyB;AACzB,yDAA+B;AAC/B,mDAAyB;AACzB,oDAA0B;AAC1B,iEAAuC;AACvC,gEAAsC;AACtC,mEAAyC;AACzC,oDAA0B;AAC1B,mDAAyB;AACzB,kDAAwB;AACxB,iDAAuB;AACvB,4DAAkC;AAClC,8DAAoC;AACpC,yDAA+B;AAC/B,0DAAgC;AAChC,+DAAqC;AACrC,sDAA4B;AAC5B,8DAAoC;AACpC,+DAAqC;AACrC,qDAA2B;AAC3B,oDAA0B;AAC1B,8DAAoC;AACpC,iDAAuB;AACvB,0DAAgC;AAChC,mDAAyB;AACzB,6DAAmC;AACnC,wDAA8B;AAC9B,+DAAqC;AACrC,0DAAgC;AAChC,oDAA0B;AAC1B,2DAAiC;AACjC,2DAAiC;AACjC,mDAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resources/index.ts"],"names":[],"mappings":";;;;AAAA,uCAA+C;AAAvC,6HAAA,OAAO,OAAY;AAE3B,uDAA6B;AAC7B,oDAA0B;AAC1B,gDAAsB;AACtB,2DAAiC;AACjC,8DAAoC;AACpC,qDAA2B;AAC3B,qDAA2B;AAC3B,yDAA+B;AAC/B,2DAAiC;AACjC,kDAAwB;AACxB,uDAA6B;AAC7B,mDAAyB;AACzB,mDAAyB;AACzB,yDAA+B;AAC/B,mDAAyB;AACzB,oDAA0B;AAC1B,iEAAuC;AACvC,gEAAsC;AACtC,mEAAyC;AACzC,oDAA0B;AAC1B,mDAAyB;AACzB,kDAAwB;AACxB,iDAAuB;AACvB,4DAAkC;AAClC,8DAAoC;AACpC,yDAA+B;AAC/B,0DAAgC;AAChC,+DAAqC;AACrC,sDAA4B;AAC5B,8DAAoC;AACpC,+DAAqC;AACrC,qDAA2B;AAC3B,oDAA0B;AAC1B,8DAAoC;AACpC,iDAAuB;AACvB,0DAAgC;AAChC,mDAAyB;AACzB,6DAAmC;AACnC,wDAA8B;AAC9B,+DAAqC;AACrC,0DAAgC;AAChC,oDAA0B;AAC1B,2DAAiC;AACjC,2DAAiC;AACjC,mDAAyB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coveo/platform-client",
3
- "version": "35.0.1",
3
+ "version": "35.1.0",
4
4
  "description": "",
5
5
  "main": "dist/Entry.js",
6
6
  "types": "dist/definitions/Entry.d.ts",