@studyportals/campaign-management-api-interface 16.4.3-2 → 17.0.1

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 (45) hide show
  1. package/index.d.ts +5 -3
  2. package/index.js +3 -2
  3. package/index.js.map +1 -1
  4. package/package.json +3 -6
  5. package/src/auditor-campaign-management-api.client.js +12 -17
  6. package/src/auditor-campaign-management-api.client.js.map +1 -1
  7. package/src/campaign-management-api.client.d.ts +12 -18
  8. package/src/campaign-management-api.client.js +65 -175
  9. package/src/campaign-management-api.client.js.map +1 -1
  10. package/src/domain/links/create-link.dto.d.ts +2 -2
  11. package/src/domain/links/create-link.dto.js +0 -4
  12. package/src/domain/links/create-link.dto.js.map +1 -1
  13. package/src/domain/links/update-link.dto.d.ts +2 -2
  14. package/src/domain/links/update-link.dto.js +0 -5
  15. package/src/domain/links/update-link.dto.js.map +1 -1
  16. package/src/errors/http-error.d.ts +12 -0
  17. package/src/errors/http-error.js +12 -0
  18. package/src/errors/http-error.js.map +1 -0
  19. package/src/links-campaign-management-api.client.js +2 -5
  20. package/src/links-campaign-management-api.client.js.map +1 -1
  21. package/src/organisations-campaign-management-api.client.d.ts +1 -0
  22. package/src/organisations-campaign-management-api.client.js +8 -17
  23. package/src/organisations-campaign-management-api.client.js.map +1 -1
  24. package/src/private-campaign-management-api.client.d.ts +1 -7
  25. package/src/private-campaign-management-api.client.js +33 -32
  26. package/src/private-campaign-management-api.client.js.map +1 -1
  27. package/src/products-campaign-management-api.client.js +2 -5
  28. package/src/products-campaign-management-api.client.js.map +1 -1
  29. package/src/study-campaign-management-api.client.js +2 -5
  30. package/src/study-campaign-management-api.client.js.map +1 -1
  31. package/src/user-campaign-management-api.client.d.ts +1 -0
  32. package/src/user-campaign-management-api.client.js +8 -16
  33. package/src/user-campaign-management-api.client.js.map +1 -1
  34. package/src/utils/http-request.d.ts +33 -0
  35. package/src/utils/http-request.js +57 -0
  36. package/src/utils/http-request.js.map +1 -0
  37. package/src/campaign-saving/index.d.ts +0 -3
  38. package/src/campaign-saving/index.js +0 -6
  39. package/src/campaign-saving/index.js.map +0 -1
  40. package/src/campaign-saving/websocket-data-type.d.ts +0 -19
  41. package/src/campaign-saving/websocket-data-type.js +0 -3
  42. package/src/campaign-saving/websocket-data-type.js.map +0 -1
  43. package/src/campaign-saving/websocket-lambda-topics.enum.d.ts +0 -3
  44. package/src/campaign-saving/websocket-lambda-topics.enum.js +0 -8
  45. package/src/campaign-saving/websocket-lambda-topics.enum.js.map +0 -1
package/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { AuditorCampaignManagementAPIClient } from "./src/auditor-campaign-management-api.client";
2
+ import { HttpError } from "./src/errors/http-error";
2
3
  import { OrganisationsCampaignManagementAPIClient } from "./src/organisations-campaign-management-api.client";
3
- import { CampaignManagementAPIClient } from "./src/campaign-management-api.client";
4
+ import { CampaignManagementAPIClient, CampaignManagementAPIClientConfig } from "./src/campaign-management-api.client";
4
5
  import { AuditorEntityType } from "./src/domain/auditor/enums/auditor-entity-type.enum";
5
6
  import { AuditorOperation } from "./src/domain/auditor/enums/auditor-operation.enum";
6
7
  import { GetAuditorDto } from "./src/domain/auditor/get-auditor.dto";
@@ -15,6 +16,8 @@ import { PersistGoogleLinkerResultDto } from "./src/domain/campaign/persist-goog
15
16
  import { LinkEntityType } from "./src/domain/links/link-entity-type.enum";
16
17
  import { LinksCampaignManagementAPIClient } from './src/links-campaign-management-api.client';
17
18
  import { SwappingEnabledLinkTypes } from "./src/domain/links/swapping-enabled-link-types.enum";
19
+ import { CreateLinkDto } from "./src/domain/links/create-link.dto";
20
+ import { UpdateLinkDto } from "./src/domain/links/update-link.dto";
18
21
  import { SuperAgentResponseCover } from "./src/domain/types/super-agent-response-cover";
19
22
  import { ProductsCampaignManagementAPIClient } from "./src/products-campaign-management-api.client";
20
23
  import { PublicStatusClient } from "./src/public-status-client";
@@ -32,5 +35,4 @@ export * from "./src/validation";
32
35
  export * from "./src/domain/organisations";
33
36
  export * from "./src/domain/products";
34
37
  export * from "./src/domain/degrees";
35
- export * from "./src/campaign-saving";
36
- export { AuditorCampaignManagementAPIClient, OrganisationsCampaignManagementAPIClient, CampaignManagementAPIClient, PrivateCampaignManagementAPIClient, PrivateUserCampaignManagementAPIClient, UserCampaignManagementAPIClient, StudyCampaignManagementAPIClient, LinksCampaignManagementAPIClient, ProductsCampaignManagementAPIClient, PublicStatusClient, GeotarginatorFrontCMAClient, UniversitySchedulerCMAClient, AuditorEntityType, AuditorOperation, LinkType, LinkEntityType, SwappingEnabledLinkTypes, GetAuditorDto, PersistGoogleLinkerResultDto, IdDto, CampaignsEntitiesConfigDto, MinimalOrganisationDto, CampaignEditorFrontendStatusDto, StatusHealthy, StatusBlocked, SaveCampaignGeotargetingRequest, GeotargetingEntity, TargetedCountries, EntityConfigsGroup, FlatEntityConfig, groupEntityConfigs, flattenEntityConfigs, CampaignStartPayload, SchedulerGeoEntity, SchedulerPricingEntity, NumberMap, Pricing, ICampaignAuditorData, SuperAgentResponseCover };
38
+ export { AuditorCampaignManagementAPIClient, OrganisationsCampaignManagementAPIClient, CampaignManagementAPIClient, CampaignManagementAPIClientConfig, PrivateCampaignManagementAPIClient, PrivateUserCampaignManagementAPIClient, UserCampaignManagementAPIClient, StudyCampaignManagementAPIClient, LinksCampaignManagementAPIClient, ProductsCampaignManagementAPIClient, PublicStatusClient, GeotarginatorFrontCMAClient, UniversitySchedulerCMAClient, AuditorEntityType, AuditorOperation, LinkType, LinkEntityType, SwappingEnabledLinkTypes, GetAuditorDto, PersistGoogleLinkerResultDto, IdDto, CampaignsEntitiesConfigDto, CreateLinkDto, UpdateLinkDto, MinimalOrganisationDto, CampaignEditorFrontendStatusDto, StatusHealthy, StatusBlocked, SaveCampaignGeotargetingRequest, GeotargetingEntity, TargetedCountries, EntityConfigsGroup, FlatEntityConfig, groupEntityConfigs, flattenEntityConfigs, CampaignStartPayload, SchedulerGeoEntity, SchedulerPricingEntity, NumberMap, Pricing, ICampaignAuditorData, SuperAgentResponseCover, HttpError };
package/index.js CHANGED
@@ -14,9 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.Pricing = exports.flattenEntityConfigs = exports.groupEntityConfigs = exports.MinimalOrganisationDto = exports.CampaignsEntitiesConfigDto = exports.IdDto = exports.PersistGoogleLinkerResultDto = exports.GetAuditorDto = exports.SwappingEnabledLinkTypes = exports.LinkEntityType = exports.LinkType = exports.AuditorOperation = exports.AuditorEntityType = exports.UniversitySchedulerCMAClient = exports.GeotarginatorFrontCMAClient = exports.PublicStatusClient = exports.ProductsCampaignManagementAPIClient = exports.LinksCampaignManagementAPIClient = exports.StudyCampaignManagementAPIClient = exports.UserCampaignManagementAPIClient = exports.PrivateUserCampaignManagementAPIClient = exports.PrivateCampaignManagementAPIClient = exports.CampaignManagementAPIClient = exports.OrganisationsCampaignManagementAPIClient = exports.AuditorCampaignManagementAPIClient = void 0;
17
+ exports.HttpError = exports.Pricing = exports.flattenEntityConfigs = exports.groupEntityConfigs = exports.MinimalOrganisationDto = exports.CampaignsEntitiesConfigDto = exports.IdDto = exports.PersistGoogleLinkerResultDto = exports.GetAuditorDto = exports.SwappingEnabledLinkTypes = exports.LinkEntityType = exports.LinkType = exports.AuditorOperation = exports.AuditorEntityType = exports.UniversitySchedulerCMAClient = exports.GeotarginatorFrontCMAClient = exports.PublicStatusClient = exports.ProductsCampaignManagementAPIClient = exports.LinksCampaignManagementAPIClient = exports.StudyCampaignManagementAPIClient = exports.UserCampaignManagementAPIClient = exports.PrivateUserCampaignManagementAPIClient = exports.PrivateCampaignManagementAPIClient = exports.CampaignManagementAPIClient = exports.OrganisationsCampaignManagementAPIClient = exports.AuditorCampaignManagementAPIClient = void 0;
18
18
  const auditor_campaign_management_api_client_1 = require("./src/auditor-campaign-management-api.client");
19
19
  Object.defineProperty(exports, "AuditorCampaignManagementAPIClient", { enumerable: true, get: function () { return auditor_campaign_management_api_client_1.AuditorCampaignManagementAPIClient; } });
20
+ const http_error_1 = require("./src/errors/http-error");
21
+ Object.defineProperty(exports, "HttpError", { enumerable: true, get: function () { return http_error_1.HttpError; } });
20
22
  const organisations_campaign_management_api_client_1 = require("./src/organisations-campaign-management-api.client");
21
23
  Object.defineProperty(exports, "OrganisationsCampaignManagementAPIClient", { enumerable: true, get: function () { return organisations_campaign_management_api_client_1.OrganisationsCampaignManagementAPIClient; } });
22
24
  const campaign_management_api_client_1 = require("./src/campaign-management-api.client");
@@ -70,5 +72,4 @@ __exportStar(require("./src/validation"), exports);
70
72
  __exportStar(require("./src/domain/organisations"), exports);
71
73
  __exportStar(require("./src/domain/products"), exports);
72
74
  __exportStar(require("./src/domain/degrees"), exports);
73
- __exportStar(require("./src/campaign-saving"), exports);
74
75
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yGAAkG;AAiDjG,mHAjDQ,2EAAkC,OAiDR;AAhDnC,qHAA8G;AAiD7G,yHAjDQ,uFAAwC,OAiDR;AAhDzC,yFAAmF;AAiDlF,4GAjDQ,4DAA2B,OAiDR;AAhD5B,kGAAwF;AA4DvF,kGA5DQ,4CAAiB,OA4DR;AA3DlB,8FAAqF;AA4DpF,iGA5DQ,yCAAgB,OA4DR;AA3DjB,0EAAqE;AAiEpE,8FAjEQ,+BAAa,OAiER;AAhEd,qGAAgG;AAqE/F,2GArEQ,yDAA0B,OAqER;AApE3B,gGAAgH;AA+F/G,wFA/FmB,+BAAO,OA+FnB;AA9FR,yGAAkG;AA4CjG,mHA5CQ,2EAAkC,OA4CR;AA3CnC,mGAA4F;AA6C3F,gHA7CQ,qEAA+B,OA6CR;AA5ChC,qGAA8F;AA6C7F,iHA7CQ,uEAAgC,OA6CR;AA5CjC,oGAA8F;AAmE7F,uGAnEQ,kDAAsB,OAmER;AAlEvB,8EAAqE;AAqDpE,yFArDQ,yBAAQ,OAqDR;AApDT,6GAAsG;AA0DrG,6GA1DQ,+DAA4B,OA0DR;AAzD7B,oFAA0E;AAoDzE,+FApDQ,sCAAc,OAoDR;AAnDf,qGAA8F;AAyC7F,iHAzCQ,uEAAgC,OAyCR;AAxCjC,0GAA+F;AAmD9F,yGAnDQ,2DAAwB,OAmDR;AAjDzB,2GAAoG;AAuCnG,oHAvCQ,6EAAmC,OAuCR;AAtCpC,qEAAgE;AAuC/D,mGAvCQ,yCAAkB,OAuCR;AArCnB,mHAA2G;AAgC1G,uHAhCQ,oFAAsC,OAgCR;AA/BvC,gDAA4C;AAkD3C,sFAlDQ,cAAK,OAkDR;AAjDN,yFAAmF;AAoClF,4GApCQ,4DAA2B,OAoCR;AAnC5B,2FAAqF;AAoCpF,6GApCQ,8DAA4B,OAoCR;AAnC7B,+DAAsF;AAoErF,mGApEQ,mCAAkB,OAoER;AAClB,qGArE4B,qCAAoB,OAqE5B;AAvDrB,wDAAsC;AACtC,qDAAmC;AACnC,mDAAiC;AACjC,6DAA2C;AAC3C,wDAAsC;AACtC,uDAAqC;AACrC,wDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yGAAkG;AAmDjG,mHAnDQ,2EAAkC,OAmDR;AAlDnC,wDAAoD;AA+GnD,0FA/GQ,sBAAS,OA+GR;AA9GV,qHAA8G;AAkD7G,yHAlDQ,uFAAwC,OAkDR;AAjDzC,yFAAsH;AAkDrH,4GAlDQ,4DAA2B,OAkDR;AAjD5B,kGAAwF;AA8DvF,kGA9DQ,4CAAiB,OA8DR;AA7DlB,8FAAqF;AA8DpF,iGA9DQ,yCAAgB,OA8DR;AA7DjB,0EAAqE;AAmEpE,8FAnEQ,+BAAa,OAmER;AAlEd,qGAAgG;AAuE/F,2GAvEQ,yDAA0B,OAuER;AAtE3B,gGAAgH;AAqG/G,wFArGmB,+BAAO,OAqGnB;AApGR,yGAAkG;AA8CjG,mHA9CQ,2EAAkC,OA8CR;AA7CnC,mGAA4F;AA+C3F,gHA/CQ,qEAA+B,OA+CR;AA9ChC,qGAA8F;AA+C7F,iHA/CQ,uEAAgC,OA+CR;AA9CjC,oGAA8F;AAyE7F,uGAzEQ,kDAAsB,OAyER;AAxEvB,8EAAqE;AAuDpE,yFAvDQ,yBAAQ,OAuDR;AAtDT,6GAAsG;AA4DrG,6GA5DQ,+DAA4B,OA4DR;AA3D7B,oFAA0E;AAsDzE,+FAtDQ,sCAAc,OAsDR;AArDf,qGAA8F;AA2C7F,iHA3CQ,uEAAgC,OA2CR;AA1CjC,0GAA+F;AAqD9F,yGArDQ,2DAAwB,OAqDR;AAjDzB,2GAAoG;AAuCnG,oHAvCQ,6EAAmC,OAuCR;AAtCpC,qEAAgE;AAuC/D,mGAvCQ,yCAAkB,OAuCR;AArCnB,mHAA2G;AAgC1G,uHAhCQ,oFAAsC,OAgCR;AA/BvC,gDAA4C;AAkD3C,sFAlDQ,cAAK,OAkDR;AAjDN,yFAAmF;AAoClF,4GApCQ,4DAA2B,OAoCR;AAnC5B,2FAAqF;AAoCpF,6GApCQ,8DAA4B,OAoCR;AAnC7B,+DAAsF;AAwErF,mGAxEQ,mCAAkB,OAwER;AAClB,qGAzE4B,qCAAoB,OAyE5B;AA3DrB,wDAAsC;AACtC,qDAAmC;AACnC,mDAAiC;AACjC,6DAA2C;AAC3C,wDAAsC;AACtC,uDAAqC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studyportals/campaign-management-api-interface",
3
- "version": "16.4.3-2",
3
+ "version": "17.0.1",
4
4
  "scripts": {
5
5
  "compile": "rm -fR bin && npx tsc",
6
6
  "test-u": "jest -c jest.config.unit.json --maxWorkers=1",
@@ -22,12 +22,10 @@
22
22
  "@types/chai": "^4.3.20",
23
23
  "@types/jest": "^29.5.14",
24
24
  "@types/node": "^22.19.7",
25
- "@types/superagent": "^8.1.9",
26
25
  "chai": "^4.5.0",
27
26
  "eslint": "^8.57.1",
28
27
  "jest": "^29.7.0",
29
28
  "jest-mock-extended": "^3.0.7",
30
- "superagent-mocker": "^0.5.2",
31
29
  "ts-jest": "^29.4.6",
32
30
  "ts-node": "^10.9.2",
33
31
  "typescript": "^5.9.3"
@@ -37,13 +35,12 @@
37
35
  "@aws-sdk/credential-provider-node": "^3.972.2",
38
36
  "@smithy/signature-v4": "^5.3.8",
39
37
  "@studyportals/mb-platform-date-time": "^1.3.1",
40
- "@studyportals/mb-platform-http-requests": "^2.8.0",
41
38
  "@studyportals/university-scheduler-interface": "^0.7.0",
39
+ "@studyportals/ws-client": "^0.3.1",
42
40
  "class-transformer": "^0.5.1",
43
41
  "class-validator": "^0.14.3",
44
42
  "inversify": "^6.2.2",
45
- "reflect-metadata": "^0.2.2",
46
- "superagent": "^8.1.2"
43
+ "reflect-metadata": "^0.2.2"
47
44
  },
48
45
  "engines": {
49
46
  "node": ">=18.x <=22.x",
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.AuditorCampaignManagementAPIClient = void 0;
13
13
  require("reflect-metadata");
14
14
  const inversify_1 = require("inversify");
15
- const superagent = require("superagent");
15
+ const http_request_1 = require("./utils/http-request");
16
16
  let AuditorCampaignManagementAPIClient = class AuditorCampaignManagementAPIClient {
17
17
  constructor(baseUrl) {
18
18
  this.baseUrl = baseUrl;
@@ -33,11 +33,11 @@ let AuditorCampaignManagementAPIClient = class AuditorCampaignManagementAPIClien
33
33
  */
34
34
  async storeCampaignAuditorData(operation, campaignID, username, isUserAction, data, jwt = "") {
35
35
  const sendData = {
36
- "operation": operation,
36
+ operation,
37
37
  "entityID": campaignID,
38
- "username": username,
39
- "isUserAction": isUserAction,
40
- "data": data
38
+ username,
39
+ isUserAction,
40
+ data
41
41
  };
42
42
  const result = await this.postRequest(`auditor/campaigns`, sendData, jwt);
43
43
  return result.body;
@@ -48,26 +48,21 @@ let AuditorCampaignManagementAPIClient = class AuditorCampaignManagementAPIClien
48
48
  }
49
49
  async storeStudiesAuditorData(operation, studyIDs, username, isUserAction, messageType, message, jwt = "") {
50
50
  const sendData = {
51
- "operation": operation,
51
+ operation,
52
52
  "entityIDs": studyIDs,
53
- "username": username,
54
- "isUserAction": isUserAction,
55
- "messageType": messageType,
56
- "message": message
53
+ username,
54
+ isUserAction,
55
+ messageType,
56
+ message
57
57
  };
58
58
  const result = await this.postRequest(`auditor/studies`, sendData, jwt);
59
59
  return result.body;
60
60
  }
61
61
  async getRequest(relative = "", jwt = "") {
62
- return await superagent.get(this.buildBaseUrl(relative))
63
- .set("Content-Type", "application/json")
64
- .set("Authorization", jwt);
62
+ return (0, http_request_1.fetchJson)('GET', this.buildBaseUrl(relative), jwt);
65
63
  }
66
64
  async postRequest(relative = "", data, jwt = "") {
67
- return await superagent.post(this.buildBaseUrl(relative))
68
- .set("Content-Type", "application/json")
69
- .set("Authorization", jwt)
70
- .send(data);
65
+ return (0, http_request_1.fetchJson)('POST', this.buildBaseUrl(relative), jwt, data);
71
66
  }
72
67
  buildBaseUrl(relative) {
73
68
  return `${this.baseUrl}/${relative}`;
@@ -1 +1 @@
1
- {"version":3,"file":"auditor-campaign-management-api.client.js","sourceRoot":"","sources":["../../src/auditor-campaign-management-api.client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auditor-campaign-management-api.client.js","sourceRoot":"","sources":["../../src/auditor-campaign-management-api.client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4BAA0B;AAI1B,yCAAuC;AACvC,uDAAiD;AAG1C,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;IAC9C,YACwB,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IACnC,CAAC;IAEE,KAAK,CAAC,sBAAsB,CAAC,UAAkB,EAAE,GAAG,GAAG,EAAE;QAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;QAC7E,MAAM,cAAc,GAAG,MAAM,CAAC,IAAuB,CAAC;QAEtD,OAAO,cAAc,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,GAAG,GAAG,EAAE;QACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,mBAAmB,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACxE,MAAM,cAAc,GAAG,MAAM,CAAC,IAAuB,CAAC;QAEtD,OAAO,cAAc,CAAC;IACvB,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,wBAAwB,CAAC,SAA2B,EAAE,UAAkB,EAAE,QAAgB,EAAE,YAAqB,EAAE,IAAS,EAAE,GAAG,GAAG,EAAE;QAClJ,MAAM,QAAQ,GAAG;YAChB,SAAS;YACT,UAAU,EAAE,UAAU;YACtB,QAAQ;YACR,YAAY;YACZ,IAAI;SACJ,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAE1E,OAAO,MAAM,CAAC,IAAqB,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,SAA2B,EAAE,OAAe,EAAE,QAAgB,EAAE,YAAqB,EAAE,WAAmB,EAAE,OAAY,EAAE,GAAG,GAAG,EAAE;QACpK,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QACzH,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,SAA2B,EAAE,QAAkB,EAAE,QAAgB,EAAE,YAAqB,EAAE,WAAmB,EAAE,OAAY,EAAE,GAAG,GAAG,EAAE;QACzK,MAAM,QAAQ,GAAG;YAChB,SAAS;YACT,WAAW,EAAE,QAAQ;YACrB,QAAQ;YACR,YAAY;YACZ,WAAW;YACX,OAAO;SACP,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAExE,OAAO,MAAM,CAAC,IAAuB,CAAC;IACvC,CAAC;IAGO,KAAK,CAAC,UAAU,CAAC,WAAmB,EAAE,EAAE,GAAG,GAAG,EAAE;QACvD,OAAO,IAAA,wBAAS,EAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,WAAmB,EAAE,EAAE,IAAS,EAAE,GAAG,GAAG,EAAE;QACnE,OAAO,IAAA,wBAAS,EAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAEO,YAAY,CAAC,QAAgB;QACpC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,QAAQ,EAAE,CAAC;IACtC,CAAC;CACD,CAAA;AArEY,gFAAkC;6CAAlC,kCAAkC;IAD9C,IAAA,sBAAU,GAAE;;GACA,kCAAkC,CAqE9C"}
@@ -9,27 +9,21 @@ import { CustomProductDto } from "./domain/campaign/custom-product.dto";
9
9
  import { ValidationStateResponse } from "./domain/campaign/validation-state.response";
10
10
  import { SearchUserDto } from "./domain/users";
11
11
  import { EnrichedCampaignGeotargetingDto } from "./domain/campaign/enriched-campaign-geotargeting.dto";
12
+ import type { EventBus } from "@studyportals/ws-client";
13
+ export type CampaignManagementAPIClientConfig = {
14
+ /** Max ms to wait for lambda 'start' acknowledgement before giving up. Default: 10 000. */
15
+ startAckTimeoutMs?: number;
16
+ /** Max ms to wait for 'success'/'failed' after 'start' was received. Default: 900 000. */
17
+ operationTimeoutMs?: number;
18
+ };
12
19
  export declare class CampaignManagementAPIClient {
13
20
  private readonly baseUrl;
14
- private connectionId;
15
- private ws;
16
- private pingInterval;
17
- private reconnectTimeout;
21
+ private readonly bus;
22
+ private readonly config;
18
23
  private pendingSaveOperations;
19
- private readonly PING_INTERVAL_MS;
20
- private readonly TEST_TIMEOUT_MS;
21
- private readonly LAMBDA_MAX_TIMEOUT_MS;
22
- constructor(baseUrl: string);
23
- private static readonly CMA_SUBDOMAIN_PREFIX;
24
- private initializeWebSocket;
25
- startWSConnection(wsUrl: string): void;
26
- private sendWhoAmI;
27
- private setupPingInterval;
28
- private clearPingInterval;
29
- private handleSavingEndMessage;
30
- /** Checks if API Gateway timed out, based on the status code */
31
- private is502BadGatewayError;
32
- getConnectionId(): string | undefined;
24
+ constructor(baseUrl: string, bus: EventBus, config?: CampaignManagementAPIClientConfig);
25
+ private readonly handleCampaignSavingPayload;
26
+ private readonly handleWsDisconnected;
33
27
  disconnect(): void;
34
28
  getCampaignDuplicates(campaigsnDuplicates: CampaignsDuplicatesDto, jwt?: string): Promise<DuplicateCampaignDto>;
35
29
  addCampaignsEntitiesConfigs(campaignID: number, campaignsEntitiesConfigs: CampaignsEntitiesConfigDto[], jwt?: string): Promise<void>;
@@ -8,159 +8,72 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var CampaignManagementAPIClient_1;
12
11
  Object.defineProperty(exports, "__esModule", { value: true });
13
12
  exports.CampaignManagementAPIClient = void 0;
14
13
  require("reflect-metadata");
15
14
  const inversify_1 = require("inversify");
16
- const superagent = require("superagent");
17
15
  const mb_platform_date_time_1 = require("@studyportals/mb-platform-date-time");
18
16
  const ws_retrieved_error_1 = require("./errors/ws-retrieved-error");
19
- const campaign_saving_1 = require("./campaign-saving");
20
- let CampaignManagementAPIClient = CampaignManagementAPIClient_1 = class CampaignManagementAPIClient {
21
- constructor(baseUrl) {
17
+ const http_request_1 = require("./utils/http-request");
18
+ const DEFAULT_CONFIG = {
19
+ startAckTimeoutMs: 10000,
20
+ operationTimeoutMs: 900000,
21
+ };
22
+ let CampaignManagementAPIClient = class CampaignManagementAPIClient {
23
+ constructor(baseUrl, bus, config = {}) {
22
24
  this.baseUrl = baseUrl;
23
25
  this.pendingSaveOperations = new Map();
24
- this.PING_INTERVAL_MS = 8 * 60 * 1000; // 8 minutes
25
- this.TEST_TIMEOUT_MS = 5000; // 5 seconds for test environment
26
- this.LAMBDA_MAX_TIMEOUT_MS = 900000; // 900 seconds (15 minutes) for production
27
- this.initializeWebSocket();
28
- }
29
- initializeWebSocket() {
30
- // Convert HTTP(S) URL to WebSocket URL and add "ws." prefix.
31
- // If the base URL starts with the CMA subdomain, use "ws." prefix (e.g., "wss://ws.cma.tst.studyportals.eu").
32
- // Otherwise, use "ws" directly before the rest of the URL (e.g., "wss://ws515.cma.tst.studyportals.eu").
33
- const wsUrl = this.baseUrl.replace(/^https?:\/\//, '');
34
- const fullWsUrl = `wss://${wsUrl.startsWith(CampaignManagementAPIClient_1.CMA_SUBDOMAIN_PREFIX) ? `ws.${wsUrl}` : `ws${wsUrl}`}`;
35
- this.startWSConnection(fullWsUrl);
36
- }
37
- startWSConnection(wsUrl) {
38
- this.ws = new WebSocket(wsUrl);
39
- this.ws.addEventListener("open", () => {
40
- console.log("WebSocket connection opened");
41
- this.sendWhoAmI();
42
- this.setupPingInterval();
43
- });
44
- this.ws.addEventListener("message", (event) => {
45
- try {
46
- if (typeof event.data === 'string') {
47
- const response = JSON.parse(event.data);
48
- // Handle connectionId response
49
- if ("connectionId" in response) {
50
- this.connectionId = response.connectionId;
51
- console.log("Connection ID received:", this.connectionId);
52
- }
53
- // Handle topic responses
54
- else {
55
- this.handleSavingEndMessage(response);
26
+ this.handleCampaignSavingPayload = (payload) => {
27
+ const operationKey = 'campaign:saving';
28
+ const operation = this.pendingSaveOperations.get(operationKey);
29
+ if (!operation)
30
+ return;
31
+ if (payload.status === 'start') {
32
+ // Lambda acknowledged swap start-ack timeout for full operation timeout
33
+ clearTimeout(operation.timeoutHandle);
34
+ operation.timeoutHandle = setTimeout(() => {
35
+ if (this.pendingSaveOperations.has(operationKey)) {
36
+ this.pendingSaveOperations.delete(operationKey);
37
+ operation.reject(new Error('Campaign save operation timed out'));
56
38
  }
57
- }
58
- }
59
- catch (error) {
60
- console.error("Error parsing WebSocket message:", error);
61
- throw error;
62
- }
63
- });
64
- this.ws.addEventListener("close", (event) => {
65
- console.log("WebSocket connection closed", event);
66
- this.clearPingInterval();
67
- // Reject all pending save operations
68
- const pendingOperations = Array.from(this.pendingSaveOperations.values());
69
- this.pendingSaveOperations.clear();
70
- const disconnectError = new Error('WebSocket connection was closed');
71
- pendingOperations.forEach(operation => operation.reject(disconnectError));
72
- // Attempt to reconnect after 5 seconds (only in non-test environment)
73
- if (process.env.NODE_ENV !== 'test') {
74
- this.reconnectTimeout = setTimeout(() => {
75
- this.initializeWebSocket();
76
- }, 5000);
39
+ }, this.config.operationTimeoutMs);
77
40
  }
78
- });
79
- this.ws.addEventListener("error", (error) => {
80
- console.error("WebSocket error:", error);
81
- });
82
- }
83
- sendWhoAmI() {
84
- if (this.ws && this.ws.readyState === WebSocket.OPEN) {
85
- const message = { action: "who-am-I" };
86
- this.ws.send(JSON.stringify(message));
87
- }
88
- }
89
- setupPingInterval() {
90
- this.clearPingInterval();
91
- // Ping every 8 minutes (480,000 milliseconds) in production, but not in tests
92
- if (process.env.NODE_ENV !== 'test') {
93
- this.pingInterval = setInterval(() => {
94
- this.sendWhoAmI();
95
- }, this.PING_INTERVAL_MS);
96
- }
97
- }
98
- clearPingInterval() {
99
- if (this.pingInterval) {
100
- clearInterval(this.pingInterval);
101
- this.pingInterval = undefined;
102
- }
103
- }
104
- handleSavingEndMessage(response) {
105
- const operationTopic = response.topic;
106
- const operation = this.pendingSaveOperations.get(operationTopic);
107
- // Only process if HTTP hasn't already resolved this operation
108
- if (operation) {
109
- if (response.message.status === "success") {
110
- this.pendingSaveOperations.delete(operationTopic);
41
+ else if (payload.status === 'success') {
42
+ clearTimeout(operation.timeoutHandle);
43
+ this.pendingSaveOperations.delete(operationKey);
111
44
  operation.resolve();
112
45
  }
113
- else if (response.message.status === "failed") {
114
- const error = new ws_retrieved_error_1.WSRetrievedError(response.message.error);
115
- this.pendingSaveOperations.delete(operationTopic);
46
+ else if (payload.status === 'failed') {
47
+ clearTimeout(operation.timeoutHandle);
48
+ const error = new ws_retrieved_error_1.WSRetrievedError(payload.error);
49
+ this.pendingSaveOperations.delete(operationKey);
116
50
  operation.reject(error);
117
51
  }
118
- }
119
- }
120
- /** Checks if API Gateway timed out, based on the status code */
121
- is502BadGatewayError(error) {
122
- if (!error)
123
- return false;
124
- try {
125
- // Check direct status property
126
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
127
- if ('status' in error && error.status === 502)
128
- return true;
129
- // Check response.status property (common in HTTP libraries)
130
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
131
- if ('response' in error && error.response && 'status' in error.response && error.response.status === 502)
132
- return true;
133
- // Check message for 502 text
134
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
135
- if ('message' in error && typeof error.message === 'string' && error.message.includes('502'))
136
- return true;
137
- }
138
- catch (_a) {
139
- // If any error occurs during checking, return false
140
- return false;
141
- }
142
- return false;
143
- }
144
- getConnectionId() {
145
- return this.connectionId;
52
+ };
53
+ this.handleWsDisconnected = () => {
54
+ const pendingOperations = Array.from(this.pendingSaveOperations.values());
55
+ this.pendingSaveOperations.clear();
56
+ const disconnectError = new Error('WebSocket connection was closed');
57
+ pendingOperations.forEach(operation => {
58
+ clearTimeout(operation.timeoutHandle);
59
+ operation.reject(disconnectError);
60
+ });
61
+ };
62
+ this.config = Object.assign(Object.assign({}, DEFAULT_CONFIG), config);
63
+ this.bus = bus;
64
+ this.bus.on('campaign:saving', this.handleCampaignSavingPayload);
65
+ this.bus.on('ws:disconnected', this.handleWsDisconnected);
146
66
  }
147
67
  disconnect() {
148
- this.clearPingInterval();
149
- // Clear reconnect timeout
150
- if (this.reconnectTimeout) {
151
- clearTimeout(this.reconnectTimeout);
152
- this.reconnectTimeout = undefined;
153
- }
154
- // Reject all pending save operations
68
+ this.bus.off('campaign:saving', this.handleCampaignSavingPayload);
69
+ this.bus.off('ws:disconnected', this.handleWsDisconnected);
155
70
  const pendingOperations = Array.from(this.pendingSaveOperations.values());
156
71
  this.pendingSaveOperations.clear();
157
72
  const disconnectError = new Error('WebSocket connection was closed');
158
- pendingOperations.forEach(operation => operation.reject(disconnectError));
159
- if (this.ws) {
160
- this.ws.close();
161
- this.ws = undefined;
162
- }
163
- this.connectionId = undefined;
73
+ pendingOperations.forEach(operation => {
74
+ clearTimeout(operation.timeoutHandle);
75
+ operation.reject(disconnectError);
76
+ });
164
77
  }
165
78
  async getCampaignDuplicates(campaigsnDuplicates, jwt = '') {
166
79
  const path = `campaigns/get-duplicates`;
@@ -235,38 +148,22 @@ let CampaignManagementAPIClient = CampaignManagementAPIClient_1 = class Campaign
235
148
  return parseInt(result.text);
236
149
  }
237
150
  async saveCampaign(campaignId, changes, jwt) {
238
- const path = `campaigns/${campaignId}/process-changes?connectionId=${this.connectionId}`;
239
- // Create a promise that resolves either from HTTP response or WebSocket message
240
- const savePromise = new Promise((resolve, reject) => {
241
- const operationTopic = campaign_saving_1.WebsocketLambdaTopics.CAMPAIGN_SAVING;
242
- // Store the operation for potential WebSocket response
243
- this.pendingSaveOperations.set(operationTopic, { resolve, reject });
244
- // Make the async POST request
245
- this.postRequest(path, changes, jwt)
246
- .catch((error) => {
247
- // Check if this is a 502 Bad Gateway (timeout scenario)
248
- const is502BadGateway = this.is502BadGatewayError(error);
249
- if (is502BadGateway) {
250
- // 502 Bad Gateway means the request timed out server-side
251
- // Continue waiting for WebSocket response, don't treat as error
252
- return;
253
- }
254
- // For other HTTP errors, fail immediately (takes priority over WebSocket)
255
- if (this.pendingSaveOperations.has(operationTopic)) {
256
- this.pendingSaveOperations.delete(operationTopic);
257
- reject(error instanceof Error ? error : new Error(String(error)));
258
- }
259
- });
260
- // Set a timeout for the entire operation (900 seconds (15 minutes) for HTTP + WebSocket)
261
- const timeout = process.env.NODE_ENV === 'test' ? this.TEST_TIMEOUT_MS : this.LAMBDA_MAX_TIMEOUT_MS;
262
- setTimeout(() => {
263
- if (this.pendingSaveOperations.has(operationTopic)) {
264
- this.pendingSaveOperations.delete(operationTopic);
265
- reject(new Error('Campaign save operation timed out'));
151
+ const path = `campaigns/${campaignId}/process-changes`;
152
+ const operationKey = 'campaign:saving';
153
+ if (this.pendingSaveOperations.has(operationKey)) {
154
+ throw new Error('A campaign save operation is already in progress');
155
+ }
156
+ await new Promise((resolve, reject) => {
157
+ const timeoutHandle = setTimeout(() => {
158
+ if (this.pendingSaveOperations.has(operationKey)) {
159
+ this.pendingSaveOperations.delete(operationKey);
160
+ reject(new Error('Campaign save operation timed out: lambda did not acknowledge'));
266
161
  }
267
- }, timeout);
162
+ }, this.config.startAckTimeoutMs);
163
+ this.pendingSaveOperations.set(operationKey, { resolve, reject, timeoutHandle });
164
+ // Fire-and-forget — resolution driven entirely by WebSocket message
165
+ void this.postRequest(path, changes, jwt).catch(() => { });
268
166
  });
269
- await savePromise;
270
167
  }
271
168
  async getCustomProducts(campaignID, jwt = '') {
272
169
  const path = `campaigns/campaign-editor/custom-products/${campaignID}`;
@@ -298,25 +195,18 @@ let CampaignManagementAPIClient = CampaignManagementAPIClient_1 = class Campaign
298
195
  return result.body;
299
196
  }
300
197
  async postRequest(relative = "", data, jwt = "") {
301
- const request = superagent.post(this.buildBaseUrl(relative))
302
- .set("Content-Type", "application/json")
303
- .set("Authorization", jwt);
304
- return await request.send(data);
198
+ return (0, http_request_1.fetchJson)('POST', this.buildBaseUrl(relative), jwt, data);
305
199
  }
306
200
  async getRequest(relative = "", jwt = "") {
307
- const request = superagent.get(this.buildBaseUrl(relative))
308
- .set("Content-Type", "application/json")
309
- .set("Authorization", jwt);
310
- return await request;
201
+ return (0, http_request_1.fetchJson)('GET', this.buildBaseUrl(relative), jwt);
311
202
  }
312
203
  buildBaseUrl(relative) {
313
204
  return `${this.baseUrl}/${relative}`;
314
205
  }
315
206
  };
316
207
  exports.CampaignManagementAPIClient = CampaignManagementAPIClient;
317
- CampaignManagementAPIClient.CMA_SUBDOMAIN_PREFIX = 'cma.';
318
- exports.CampaignManagementAPIClient = CampaignManagementAPIClient = CampaignManagementAPIClient_1 = __decorate([
208
+ exports.CampaignManagementAPIClient = CampaignManagementAPIClient = __decorate([
319
209
  (0, inversify_1.injectable)(),
320
- __metadata("design:paramtypes", [String])
210
+ __metadata("design:paramtypes", [String, Object, Object])
321
211
  ], CampaignManagementAPIClient);
322
212
  //# sourceMappingURL=campaign-management-api.client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"campaign-management-api.client.js","sourceRoot":"","sources":["../../src/campaign-management-api.client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"campaign-management-api.client.js","sourceRoot":"","sources":["../../src/campaign-management-api.client.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { LinkType } from "../studies/enums/link-type.enum";
2
- export declare class CreateLinkDto {
2
+ export type CreateLinkDto = {
3
3
  name?: string;
4
4
  url: string;
5
5
  description: string;
6
6
  type: LinkType;
7
7
  active?: boolean;
8
- }
8
+ };
@@ -1,7 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CreateLinkDto = void 0;
4
- class CreateLinkDto {
5
- }
6
- exports.CreateLinkDto = CreateLinkDto;
7
3
  //# sourceMappingURL=create-link.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-link.dto.js","sourceRoot":"","sources":["../../../../src/domain/links/create-link.dto.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;CAMzB;AAND,sCAMC"}
1
+ {"version":3,"file":"create-link.dto.js","sourceRoot":"","sources":["../../../../src/domain/links/create-link.dto.ts"],"names":[],"mappings":""}
@@ -1,4 +1,4 @@
1
1
  import { CreateLinkDto } from "./create-link.dto";
2
- export declare class UpdateLinkDto extends CreateLinkDto {
2
+ export type UpdateLinkDto = CreateLinkDto & {
3
3
  id: number;
4
- }
4
+ };
@@ -1,8 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdateLinkDto = void 0;
4
- const create_link_dto_1 = require("./create-link.dto");
5
- class UpdateLinkDto extends create_link_dto_1.CreateLinkDto {
6
- }
7
- exports.UpdateLinkDto = UpdateLinkDto;
8
3
  //# sourceMappingURL=update-link.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update-link.dto.js","sourceRoot":"","sources":["../../../../src/domain/links/update-link.dto.ts"],"names":[],"mappings":";;;AAAA,uDAAiD;AAEjD,MAAa,aAAc,SAAQ,+BAAa;CAE/C;AAFD,sCAEC"}
1
+ {"version":3,"file":"update-link.dto.js","sourceRoot":"","sources":["../../../../src/domain/links/update-link.dto.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ export declare class HttpError extends Error {
2
+ readonly response: {
3
+ body: unknown;
4
+ status: number;
5
+ text: string;
6
+ };
7
+ constructor(message: string, response: {
8
+ body: unknown;
9
+ status: number;
10
+ text: string;
11
+ });
12
+ }